當前位置:文書都 >

知識文庫 >實用文檔 >

常用的設計模式總結

常用的設計模式總結

常用的設計模式總結

常用的設計模式總結

1.策略模式(Strategy): 定義了算法家族, 分別封裝起來, 讓它們之間可以互相替換.

比如(List list, Comparator c); 可以通過實現多個Comparator接口來達到多種排序的目的.

2.裝飾着模式(Decorator): 動態的給一個對象添加一些額外的職責.

比如包. BufferedInputStream封裝了FileInputStream, 它們都實現了InputStream接口, 但前者實現了readLine方法.

3.代理模式(Proxy): 為其他對象提供一種代理以控制對這個對象的訪問.

比如在用户登錄時, 真正的登錄類和代理登錄類都實現了Login接口, 不同的是Proxy類的方法中增加了用户是否合法的判斷, 只有合法時才去調用真正登錄類的'login方法. 用户訪問的其實是Proxy的login方法.

4.工廠模式(Factory): 定義一個用以創建對象的接口, 讓子類決定實例化哪個類.

當遇到需要根據某個前提條件創建不同的類實現時, 會實用工廠模式.

5.模板模式(Template): 定義一個操作中的算法骨架, 而將一些步驟延遲到子類中.

比如HibernateTemplate, 在Template中已經定義了Connection開關的實現, 用户只需要在子類中根據不同的業務寫不同的sql.

6.外觀模式(Facade): 為子系統中的一組接口提供一個一致的界面.

一直在用, 比如DBUtil, 將所有數據庫對象封裝了, 只留了BUtil()這個接口.

7.建造者模式(Builder): 將一個複雜對象的構建與它的表示分離.

8.觀察者模式(Observer): 定義了一種一對多的依賴關係,讓多個觀察者對象同時監聽某一主題對象,在它的狀態發生變化時,會通知所有的觀察者.

比如ServletContextListener, 在applcation啟動時, 會通知所有這個接口的實現類.

9.抽象工廠模式(Abstract Factory): 提供一個創建一系列相關或相互依賴對象的接口, 而無需指定它們具體的類.

10.適配器模式(Adapter): 將一個類的接口轉換成客户希望的另一個接口.

11.單例模式(Singleton): 保證一個類僅有一個實例,並提供一個訪問它的全局控制點.

比如在加載配置文件時, 可使用該模式.

12.命令模式(Command): 將一個請求封裝成為一個對象, 使可以用不同的請求對客户進行參數化.

比如Struts的MVC結構, 其實就是個Command模式.

標籤: 設計模式
  • 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/zhishiwenku/shiyongwendang/3wj3zw.html
專題