java23種設計模式中最常用的9種
1 Factory Pattern(工廠模式) 上榜理由:將程序中創建對象的操作,單獨出來處理,大大提高了系統擴展的柔性,接口的抽象化處理給相互依賴的對象創建提供了最好的抽像模式。
2 Facade Pattern(門面模式) 上榜理由:將表現層和邏輯層隔離,封裝底層的複雜處理,為用戶提供簡單的接口,這樣的例子隨處可見。門面模式很多時候更是一種系統架構的設計,在我所做的項目中,就實現了門面模式的接口,為複雜系統的解耦提供了最好的解決方案。
3 Command Pattern(命令模式) 上榜理由:將請求封裝為對象,從而將命令的執行和責任分開。通常在隊列中等待命令,這和現實多麼的相似呀。如果你喜歡發號施令,請考慮你的ICommond吧。
4 Strategy Pattern(策略模式) 上榜理由:策略模式,將易於變化的部分封裝為接口,通常Strategy封裝一些運算法則,使之能互換。Bruce Zhang在他的博客中提到策略模式其實是一種“面向接口”的編程方法,真是恰如其分。
5 Iterator Pattern(迭代器模式) 上榜理由:相信任何的系統中,都會用到數組、集合、鍊錶、隊列這樣的類型吧,那麼你就不得不關心迭代模式的來龍去脈。在遍曆算法中,迭代模式提供了遍歷的順序訪問容器,GOF給出的定義為:提供一種方法訪問一個容器(container)對像中各個元素,而又不需暴露該對象的內部細節。。NET中就是使用了迭代器來創建用於foreach的集合。
6 Adapter Pattern(適配器模式) 上榜理由:在原類型不做任何改變的情況下,擴展了新的接口,靈活且多樣的適配一切舊俗。這種打破舊框框,適配新格局的思想,是面向對象的精髓。以繼承方式實現的類的Adapter模式和以聚合方式實現的對象的Adapter模式,各有千秋,各取所長。看來,把它叫做包裝器一點也不為過,
7 Observer Pattern(觀察者模式) 上榜理由:定義對象間的一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對像都得到通知並被自動更新。觀察者和被觀察者的分開,為模塊劃分提供了清晰的界限。在。NET中使用委託和事件可以更好的實現觀察者模式,事件的註冊和撤銷不就對應著觀察者對其對象的觀察嗎?
8 Bridge Pattern(橋接模式) 上榜理由:把實現和邏輯分開,對於我們深刻理解面向對象的聚合復用的思想甚有助益。
9 Singleton Pattern(單例模式) 上榜理由:改善全局變量和命名空間的衝突,可以說是一種改良了的全局變量。這種一個類只有一個實例,且提供一個訪問全局點的方式,更加靈活的保證了實例的創建和訪問約束。
出自 :http://723242038.iteye.com/blog/1961002