.NET之設計模式總結完整版

軟件設計模式(Design pattern),又稱設計模式,是一套被反覆使用、多數人知曉的、通過分類編目的、代碼設計經驗的總結。使用設計模式是爲了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性、程序的重用性。(引用自百度百科)html

 設計模式是軟件設計思想的體現。編程

1、設計模式有如下原則:設計模式

1.單一職責原則(Single Responsibility Principle):ui

就一個類而言,應該僅有一個引發它變化的緣由。
作編程的時候,若是講每個類加上各類各樣的功能就意味着,不管任何需求要來,你都須要更改這個類,這樣會讓維護很是麻煩,複用不可能,也缺少靈活性。若是一個類承擔的職責過多,就等於把這些職責耦合起來,一個職責變化可能會削弱或者抑制這個類完成其餘職責的能力。這種耦合會致使脆弱的設計,當變化發生時,設計會遭到不少意想不到的破壞。(引用自百度百科)

2.里氏代換原則,也叫里氏替換原則(Liskov Substitution Principle):spa

里氏代換原則中說,任何基類能夠出現的地方,子類必定能夠出現。 LSP是繼承複用的基石,只有當衍生類能夠替換掉基類,軟件單位的功能不受到影響時,基類才能真正被複用,而衍生類也可以在基類的基礎上增長新的行爲。里氏代換原則是對「開-閉」原則的補充。實現「開-閉」原則的關鍵步驟就是抽象化。而基類與子類的繼承關係就是抽象化的具體實現,因此里氏代換原則是對實現抽象化的具體步驟的規範 (引用自百度百科).net

3.依賴倒轉原則(Dependence Inversion Principle):設計

這個是開閉原則的基礎,具體內容:面向接口編程,依賴於抽象而不依賴於具體。寫代碼時用到具體類時,不與具體類交互,而與具體類的上層接口交互。代理

4.接口隔離原則(Interface Segregation Principle):server

每一個接口中不存在子類用不到卻必須實現的方法,若是否則,就要將接口拆分。htm

使用多個隔離的接口,比使用單個接口(多個接口方法集合到一個的接口)要好。

5.迪米特法則,又稱最少知識原則(Demeter Principle):

一個軟件實體應當儘量的少與其餘實體發生相互做用

6.合成複用原則

少用繼承,多用合成關係來實現;儘可能首先使用合成/聚合的方式,而不是使用繼承。

7.開閉原則(Open Close Principle):

原文是:"Software entities should be open for extension,but closed for modification"。就是說模塊應對擴展開放,而對修改關閉

2、設計模式場景有如下23種:

1.建立型

共5種:Factory Method(工廠方法模式)、Abstract Factory(抽象工廠模式)、Builder(建造者模式)、Prototype(原型模式)、Singleton(單例模式)

2.結構型

共七種:Adapter(適配器模式)、Decorator(裝飾者模式)、Proxy(代理模式)、Façade(外觀模式)、Bridge(橋接模式)、Composite(組合模式)、Flyweight(享元模式)

3.行爲型

共十一種:Interpreter(解釋器模式)、Template Method(模版方法模式)、Chain of Responsibility(職責鏈模式)、Command(命令模式)、Iterator(迭代器模式)、Mediator(中介者模式)、Memento(備忘錄模式)、Memento(備忘錄模式)、Observer(觀察者模式)、State(狀體模式)、Strategy(策略模式)、Visitor(訪問者模式)

 

參考:

http://www.javashuo.com/article/p-mrrtqiot-mo.html

http://www.javashuo.com/article/p-kdlsmsee-w.html

相關文章
相關標籤/搜索