原创 設計模式:策略(Strategy)模式

設計模式之策略(Strategy)模式 在現實生活中常常遇到實現某種目標存在多種策略可供選擇的情況,例如,出行旅遊可以乘坐飛機、乘坐火車、騎自行車或自己開私家車等,超市促銷可以釆用打折、送商品、送積分等方法。 在軟件開發中也常常遇

原创 設計模式:行爲型模式

設計模式之行爲型模式 行爲型模式用於描述程序在運行時複雜的流程控制,即描述多個類或對象之間怎樣相互協作共同完成單個對象都無法單獨完成的任務,它涉及算法與對象間職責的分配。 行爲型模式分爲類行爲模式和對象行爲模式,前者採用繼承機制來

原创 設計模式:命令(Command)模式

設計模式之命令(Command)模式 在軟件開發系統中,常常出現“方法的請求者”與“方法的實現者”之間存在緊密的耦合關係。這不利於軟件功能的擴展與維護。例如,想對行爲進行“撤銷、重做、記錄”等處理都很不方便,因此“如何將方法的請求

原创 設計模式:模板(Template)模式

設計模式之模板(Template)模式 在面向對象程序設計過程中,程序員常常會遇到這種情況:設計一個系統時知道了算法所需的關鍵步驟,而且確定了這些步驟的執行順序,但某些步驟的具體實現還未知,或者說某些步驟的實現與具體的環境相關。

原创 設計模式:享元(Flyweight)模式

設計模式之享元(Flyweight)模式 在面向對象程序設計過程中,有時會面臨要創建大量相同或相似對象實例的問題。創建那麼多的對象將會耗費很多的系統資源,它是系統性能提高的一個瓶頸。例如,圍棋和五子棋中的黑白棋子,圖像中的座標點或

原创 設計模式:橋接(Bridge)模式

設計模式之橋接(Bridge)模式 在現實生活中,某些類具有兩個或多個維度的變化,如圖形既可按形狀分,又可按顏色分。如何設計類似於 Photoshop 這樣的軟件,能畫不同形狀和不同顏色的圖形呢?如果用繼承方式,m 種形狀和 n

原创 設計模式:組合(Composite)模式

設計模式之組合(Composite)模式 在現實生活中,存在很多“部分-整體”的關係,例如,大學中的部門與學院、總公司中的部門與分公司、學習用品中的書與書包、生活用品中的衣服與衣櫃以及廚房中的鍋碗瓢盆等。在軟件開發中也是這樣,例如

原创 設計模式:外觀(Facade)模式

設計模式之外觀(Facade)模式 在現實生活中,常常存在辦事較複雜的例子,如辦房產證或註冊一家公司,有時要同多個部門聯繫,這時要是有一個綜合部門能解決一切手續問題就好了。 軟件設計也是這樣,當一個系統的功能越來越強,子系統會越來

原创 設計模式:裝飾(Decorator)模式

設計模式之裝飾(Decorator)模式 在現實生活中,常常需要對現有產品增加新的功能或美化其外觀,如房子裝修、相片加相框等。在軟件開發過程中,有時想用一些現存的組件。這些組件可能只是完成了一些核心功能。但在不改變其結構的情況下,

原创 設計模式:適配器(Adapter)模式

設計模式:適配器(Adapter)模式 在現實生活中,經常出現兩個對象因接口不兼容而不能在一起工作的實例,這時需要第三者進行適配。例如,講中文的人同講英文的人對話時需要一個翻譯,用直流電的筆記本電腦接交流電源時需要一個電源適配器,

原创 設計模式:代理(Proxy)模式

設計模式之代理(Proxy)模式 在有些情況下,一個客戶不能或者不想直接訪問另一個對象,這時需要找一箇中介幫忙完成某項任務,這個中介就是代理對象。例如,購買火車票不一定要去火車站買,可以通過 12306 網站或者去火車票代售點買。

原创 設計模式:單例模式(精講)

設計模式之單例模式設計理念定義特點結構與實現結構實現**感謝大家的閱讀,如果對您有幫助,希望您能給我點個贊!謝謝!** 設計理念 在有些系統中,爲了節省內存資源、保證數據內容的一致性,對某些類要求只能創建一個實例,這就是所謂的單例

原创 設計模式基礎篇:UML基礎

設計模式基礎篇之UML基礎UML簡介類、接口和類圖類之間的關係**感謝大家的閱讀,如果對您有幫助,希望您能給我點個贊!謝謝!** UML簡介 統一建模語言(Unified Modeling Language,UML)是用來設計軟件

原创 設計模式:工廠方法

設計模式之工廠方法 在現實生活中社會分工越來越細,越來越專業化。各種產品有專門的工廠生產,徹底告別了自給自足的小農經濟時代,這大大縮短了產品的生產週期,提高了生產效率。同樣,在軟件開發中能否做到軟件對象的生產和使用相分離呢?能否在

原创 設計模式基礎篇:設計原則

設計模式基礎篇之設計原則概述開閉原則定義作用實現方法里氏替換原則定義作用實現方法依賴倒置原則定義作用實現方法單一職責原則定義作用實現方法接口隔離原則定義作用實現方法迪米特法則定義作用實現方法合成複用原則定義作用實現方法**感謝大家