日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

设计原则笔记

發(fā)布時(shí)間:2025/4/5 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计原则笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  來西安快2個(gè)星期了,帶領(lǐng)學(xué)員們一起學(xué)習(xí)Flex,當(dāng)然之前要學(xué)習(xí)HTML、CSS、JavaScript、XML等相關(guān)前端基礎(chǔ)知識(shí),自己也收獲不少。一方面鍛煉了自己的技術(shù)能力,同時(shí)也提升了項(xiàng)目管理、和人溝通的能力。之前在學(xué)習(xí)也接觸過一些設(shè)計(jì)原則,有點(diǎn)印象,可能是當(dāng)時(shí)的代碼量不多,所以體會(huì)不深。現(xiàn)在應(yīng)該有些理解了。

  我們做計(jì)算機(jī)或者軟件開發(fā)的,肯定和代碼和文檔打交道的多,有時(shí)我們的工作就是這2樣了,當(dāng)然有時(shí)也會(huì)開會(huì)討論。但是在IT行業(yè),思想決定了您未來的發(fā)展方向和晉升的職務(wù)。當(dāng)然,我們的代碼量最好是10K以上,要不然我們無法體會(huì)設(shè)計(jì)原則的思想和精華。

  首先,就是設(shè)計(jì)的基本原則:

  1.封裝變化(Encapsulate what varies)

  2.面向接口編程而非實(shí)現(xiàn)(Code to an interface than to an implementation)

  3.優(yōu)先使用組合而非繼承(Favor compositon over Inheritance)

  第一點(diǎn)和第二點(diǎn)相對(duì)好理解,但是第三點(diǎn)有點(diǎn)轉(zhuǎn)不過彎來,后來上網(wǎng)查了一下,如果過多的使用,代碼的耦合度較大,后期不好維護(hù)。前輩的理解:因?yàn)槲覀冃枰w現(xiàn)事物在抽象層面上的共通性,這時(shí)候接口就出現(xiàn)了,我們通常更關(guān)注can-do而不是is-a(當(dāng)然不排除很多時(shí)候我們關(guān)注后者),組合可以幫助我們做到一個(gè)事物得到多個(gè)事物的功能(真?zhèn)?#xff09;,而不是財(cái)產(chǎn)(遺傳基因),所以我們可以通過組合來實(shí)現(xiàn)接口,以接口繼承的形式來實(shí)現(xiàn)一種關(guān)注can-do的多繼承。

相比繼承,接口實(shí)現(xiàn)更加靈活,組合更加具有可變化性,并且不會(huì)讓繼承樹太過復(fù)雜,造成類庫(kù)的難以控制。

  另外我還參考了://blog.csdn.net/Cpp_Java_Man/archive/2006/05/02/705279.aspx,這邊博文對(duì)組合和繼承講解比較通俗易懂。我們?yōu)槭裁床挥美^承?繼承破壞了類的封裝性,增加了類與類之間的耦合度,雖然繼承是面向?qū)ο笕筇卣髦?#xff0c;我們還是要轉(zhuǎn)變一下觀念。當(dāng)然最初學(xué)面向?qū)ο笤O(shè)計(jì)時(shí),我們還是有必要使用繼承。

  然后就是5大原則了:

  1.單一原則:一個(gè)類只完成一系列相同的事情,當(dāng)然不是說一個(gè)類就一個(gè)方法。要不然我們修改一處,其他的地方都要修改,為維護(hù)性差

  2.開放-封閉原則:擴(kuò)展是開放的,更改是封閉的

  3.里氏替換原則:子類必須能夠替換它們的基類。經(jīng)典的例子就是:企鵝類和鳥類,企鵝是鳥,但是不能飛,所以我們?cè)O(shè)計(jì)這2個(gè)類就要注意了。不是簡(jiǎn)單的繼承關(guān)系了

  4.依賴倒置:高層模塊不依賴底層,二者都依賴于抽象;抽象不依賴于細(xì)節(jié),細(xì)節(jié)依賴于抽象,現(xiàn)在還是有些模糊;

  5.接口分離原則,這個(gè)相對(duì)好理解,一個(gè)接口就完成一個(gè)功能,不要擔(dān)任過多的功能。

  IT行業(yè),所要求的還是大家的興趣,以及學(xué)習(xí)新技術(shù)能力。當(dāng)然對(duì)于畢業(yè)生來說,實(shí)踐(代碼量的多少)和理論(專業(yè)基礎(chǔ))是無法替代的。

總結(jié)

以上是生活随笔為你收集整理的设计原则笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。