C#面向對象的23種設計模式介紹_第1頁
C#面向對象的23種設計模式介紹_第2頁
C#面向對象的23種設計模式介紹_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第C#面向對象的23種設計模式介紹目錄一、設計模式概述二、面向對象23種設計模式創(chuàng)建型模式結構型模式行為型模式三、設計模式六大原則詳細解析四、源碼倉庫

一、設計模式概述

設計模式,是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性、程序的重用性。

設計模式其實就是開發(fā)過程中常見問題的解決方案,是解決問題的思路。學習設計模式能更優(yōu)雅的解決面向對程序開發(fā)設計問題。

二、面向對象23種設計模式

創(chuàng)建型模式

關注對象的創(chuàng)建

模式名稱中文名稱基本定義Singleton單例模式保證一個類僅有一個實例,并且提供一個全局訪問點。FactoryMethod工廠方法模式定義一個用于創(chuàng)建對象的接口,讓子類決定將哪一個類實例化。工廠方法模式使一個類的實例化延遲到子類。AbstractFactory抽象工廠提供一個創(chuàng)建一系列相關或相互依賴對象的接口,而無需指定具體的類。Builder建造者模式講一個復雜對象的構建和他的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示Prototype原型模式用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這個原型來創(chuàng)建新的對象。

結構型模式

關注類與對象之間的組合

模式名稱中文名稱基本定義Adapter適配器模式將一個類的接口轉換成客戶希望的另一個接口。適配器使得原來不兼容的接口可以一起工作。Bridge橋接模式將抽象部分與它的實現(xiàn)部分分離,使他們都可以獨立變化Composite組合模式將對象組合成樹形結構以表示部分-整體的層次結構。組合模式使得客戶對單個對象對單個對象和復合對象的使用具有一致性。Decorator裝飾器模式動態(tài)的給一個對象添加一些額外的職責。就擴展方式而言,裝飾器模式比生成子類的方式更靈活Facade外觀模式為子系統(tǒng)的一組接口提供一個一致的界面,F(xiàn)acade模式定義了一個高層的接口,這個接口使得這一個子系統(tǒng)更容易使用。Flyweight享元模式運用共享技術有效的支持大量細粒度對象。Proxy代理模式為其他對象提供一個代理以控制對這個對象的訪問。

行為型模式

關注對象和行為的分離

模式名稱中文名稱基本定義Interpreter解釋器模式給定一個語言,定義它的文法的一種表示,并定義一個解釋器,該解釋器使用該表示來解釋語言中的例子。TemplateMethod模板方法模式定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟ChainofResponsibility職責鏈模式為解除請求的發(fā)送者和接收者之間的耦合,而使多個對象都有機會處理這個請求。講這些對象連著一個鏈,并沿著這條鏈傳遞該請求,直到一個對象處理它。Command命令模式將一個請求封裝成一個對象,從而使你可用不同的請求對客戶進行參數化,對請求排隊或記錄請求日志,以及支持可取消操作。Iterator迭代器模式提供一種方法順序訪問一個聚合對象中的各個元素,而又不需要暴露該對象的內部表示。Mediator媒介模式用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯示的相互引用,從而使其耦合松散,而且可以獨立地改變他們之間的交互。Memento備忘錄模式在不破壞封裝性的前提下,捕獲一個對象的內部狀態(tài),并在這個對象之外保存這個狀態(tài)。這樣就可以將這個對象恢復到保存的狀態(tài)。Observer觀察者模式定義對象間的一種一對多的依賴關系,以便當一個對象的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知并自動刷新。State狀態(tài)模式允許一個對象在其內部狀態(tài)改變時改變他的行為。對象看起來似乎修改了他所屬的類。Strategy策略模式定義一系列算法,把它們一個個封裝起來,并且使他們可相互替換,本模式使得算法的變化可獨立于他的客戶Visitor訪問者模式表示一個作用于某對象結構的各元素的操作。他使你可以在不改變元素的類的前提下定義作用于這些元素的操作

三、設計模式六大原則詳細解析

單一職責:一個類只負責一項職責里氏替換原則:子類可以擴展父類的功能,但不能改變原有父類的功能。盡量用子類替換父類依賴倒置原則:抽象不應該依賴于細節(jié),細節(jié)應當依賴于抽象,面向接口編程接口隔離原則:使用多個專門的接口,而不使用單一的總接口。即客戶端不應該依賴于那些它不需要的接口迪米特原則:最少知道原則,盡量降低類與類之間的耦合;一個對象應該對其他對象有最少的了解開閉原則:對擴展開放,對修改關閉,能擴展不修改

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論