6大設計原則與常見設計模式(概述)


關於設計模式(原則),看到這樣一段有趣的話。

如果寫程序比作打架

那設計模式就是套路,比如長拳、永春啥的

都是打架,有的是大俠切磋,有的是流氓群毆

但大俠有時候也未必大的過流氓,因為流氓不按套路出牌

流氓牛了,厲害了,流氓的打架方法慢慢就成了新的套路,流氓也就編程里的大俠了

設計模式即是如此,起初GOF是四個和我們差不多的流氓

但是架打多了,他們注意總結和分析,從群毆中整理了一組套路出來,就是GOF23模式,所以他們就成為大俠了

你想成為大俠,先學套路是對的,但是也要注意實際應用,不要死套套路

結合套路慢慢形成自己風格,你就不是流氓了。

 

編碼遵循設計原則是為了代碼復用,增加代碼健壯性、可維護性。

6大設計原則:

 (1) 單一職責原則(Single Responsibility Principle,SRP)

 (2) 里氏替換原則(Liskov Substitution Principle,LSP)

 (3) 依賴倒置原則(Dependence Inversion Principle,DIP)

 (4) 接口隔離原則(Interface Segregation Principle,ISP)

 (5) 迪米特法則(Law Of Demeter,LOD)

 (6) 開閉原則(Open Closed Principle,OCP)

 (補充) 組合/聚合復用原則(Composite/Aggregate Reuse Principle,CARP)

6大設計原則詳解(一):http://www.cnblogs.com/LangZXG/p/6242925.html

6大設計原則詳解(二):http://www.cnblogs.com/LangZXG/p/6242927.html

 

設計模式就是實現了這些原則,從而達到代碼復用、增加代碼的健壯性、可維護性的目的。

23種設計模式:

1. 創建型模式(5)

 (1) 單例模式(詳解:http://www.cnblogs.com/LangZXG/p/6248835.html

 (2) 工廠方法模式

 (3) 抽象工廠模式(2種模式詳解:http://www.cnblogs.com/LangZXG/p/6249425.html

 (4) 建造者模式

 (5) 原型模式

2. 結構型模式(7)

 (1) 適配器模式(詳解鏈接)

 (2) 裝飾模式(詳解鏈接)

 (3) 代理模式(詳解鏈接)

 (4) 組合模式

 (5) 享元模式

 (6) 外觀模式/門面模式(詳解鏈接)

 (7) 橋接模式(詳解鏈接)

3. 行為型模式(11)

 (1) 模板方法模式

 (2) 中介者模式

 (3) 命令模式(詳解鏈接)

 (4) 責任鏈模式

 (5) 策略模式(詳解鏈接)

 (6) 迭代器模式

 (7) 觀察者模式(詳解鏈接)

 (8) 備忘錄模式

 (9) 訪問者模式

 (10) 狀態模式

 (11) 解釋器模式

持續更新中...

 

 

類圖基本知識: http://www.cnblogs.com/LangZXG/p/6208716.html

 

注:轉載請注明出處   http://www.cnblogs.com/LangZXG/p/6204142.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM