簡述一下你了解的設計模式?


所謂設計模式就是一套被反復使用的代碼設計經驗的總結情境中一個問題經 

過證實的一個解決方案)。使用設計模式是為了可重用代碼讓代碼更容易被他 

人理解保證代碼可靠性設計模式使人們可以更加簡單方便的復用成功的設計 

和體系結構將已證實的技術表述成設計模式也會使新系統開發者更加容易理解 

其設計思路

 GoF 《Design Patterns: Elements of Reusable Object-Oriented

Software》中給出了三類創建型[對類的實例化過程的抽象化]、結構型[描述如 

何將類或對象結合在一起形成更大的結構]、行為型[對在不同的對象之間划分責任 

和算法的抽象化]) 23 種設計模式包括:Abstract Factory(抽象工廠模式),

Builder(建造者模式),Factory Method(工廠方法模式),Prototype(原始 

模型模式),Singleton(單例模式);Facade(門面模式),Adapter(適配器 

模式),Bridge(橋梁模式),Composite(合成模式),Decorator(裝飾模 

),Flyweight(享元模式),Proxy(代理模式);Command(命令模式),

 317   485 頁第 318   485  

Interpreter(解釋器模式),Visitor(訪問者模式),Iterator(迭代子模式),

Mediator(調停者模式),Memento(備忘錄模式),Observer(觀察者模式),

State(狀態模式),Strategy(策略模式),Template Method(模板方法模式),

Chain Of Responsibility(責任鏈模式)。

面試被問到關於設計模式的知識時可以揀最常用的作答例如

工廠模式工廠類可以根據條件生成不同的子類實例這些子類有一個公 

共的抽象父類並且實現了相同的方法但是這些方法針對不同的數據進行了不同 

的操作多態方法)。當得到子類的實例后開發人員可以調用基類中的方法而 

不必考慮到底返回的是哪一個子類的實例

代理模式給一個對象提供一個代理對象並由代理對象控制原對象的引 

實際開發中按照使用目的的不同代理可以分為遠程代理虛擬代理

保護代理、Cache 代理防火牆代理同步化代理智能引用代理

適配器模式把一個類的接口變換成客戶端所期待的另一種接口從而使 

原本因接口不匹配而無法在一起使用的類能夠一起工作

模板方法模式提供一個抽象類將部分邏輯以具體方法或構造器的形式 

實現然后聲明一些抽象方法來迫使子類實現剩余的邏輯不同的子類可以以不 

同的方式實現這些抽象方法多態實現),從而實現不同的業務邏輯

除此之外還可以講講上面提到的門面模式橋梁模式單例模式裝潢模式 

(Collections 工具類和 I/O 系統中都使用裝潢模式反正基本原則就是揀 

自己最熟悉的用得最多的作答以免言多必失


免責聲明!

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



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