欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

最常用的12種設計模式小結

 更新時間:2011年08月09日 21:31:33   作者:  
最常用的12種設計模式小結,學習js的朋友可以參考下。
1.策略模式(Strategy): 定義了算法家族, 分別封裝起來, 讓它們之間可以互相替換.
比如Collections.sort(List list, Comparator c); 可以通過實現多個Comparator接口來達到多種排序的目的.
2.裝飾著模式(Decorator): 動態(tài)的給一個對象添加一些額外的職責.
比如java.io包. BufferedInputStream封裝了FileInputStream, 它們都實現了InputStream接口, 但前者實現了readLine方法.
3.代理模式(Proxy): 為其他對象提供一種代理以控制對這個對象的訪問.
比如在用戶登錄時, 真正的登錄類和代理登錄類都實現了Login接口, 不同的是Proxy類的方法中增加了用戶是否合法的判斷, 只有合法時才去調用真正登錄類的login方法. 用戶訪問的其實是Proxy的login方法.
4.工廠模式(Factory): 定義一個用以創(chuàng)建對象的接口, 讓子類決定實例化哪個類.
當遇到需要根據某個前提條件創(chuàng)建不同的類實現時, 會實用工廠模式.
5.模板模式(Template): 定義一個操作中的算法骨架, 而將一些步驟延遲到子類中.
比如HibernateTemplate, 在Template中已經定義了Connection開關的實現, 用戶只需要在子類中根據不同的業(yè)務寫不同的sql.
6.外觀模式(Facade): 為子系統中的一組接口提供一個一致的界面.
一直在用, 比如DBUtil, 將所有數據庫對象封裝了, 只留了DBUtil.getDBUtil()這個接口.
7.建造者模式(Builder): 將一個復雜對象的構建與它的表示分離.
8.觀察者模式(Observer): 定義了一種一對多的依賴關系,讓多個觀察者對象同時監(jiān)聽某一主題對象,在它的狀態(tài)發(fā)生變化時,會通知所有的觀察者.
比如ServletContextListener, 在applcation啟動時, 會通知所有這個接口的實現類.
9.抽象工廠模式(Abstract Factory): 提供一個創(chuàng)建一系列相關或相互依賴對象的接口, 而無需指定它們具體的類.
10.適配器模式(Adapter): 將一個類的接口轉換成客戶希望的另一個接口.
11.單例模式(Singleton): 保證一個類僅有一個實例,并提供一個訪問它的全局控制點.
比如在加載配置文件時, 可使用該模式.
12.命令模式(Command): 將一個請求封裝成為一個對象, 使可以用不同的請求對客戶進行參數化.
比如Struts的MVC結構, 其實就是個Command模式.

相關文章

  • JS實現瀏覽器打印、打印預覽示例

    JS實現瀏覽器打印、打印預覽示例

    本篇文章主要介紹了JS實現瀏覽器打印、打印預覽示例。小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • JS數組splice操作實例分析

    JS數組splice操作實例分析

    這篇文章主要介紹了JS數組splice操作,結合實例形式分析了javascript使用splice方法刪除數組元素相關操作技巧,需要的朋友可以參考下
    2019-10-10
  • webpack4 處理SCSS的方法示例

    webpack4 處理SCSS的方法示例

    這篇文章主要介紹了webpack4處理SCSS的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 經驗幾則 推薦

    經驗幾則 推薦

    [紅色]經驗幾則 推薦...
    2006-09-09
  • javascript 使td內容不換行不撐開

    javascript 使td內容不換行不撐開

    javascript 使td內容不換行不撐開如何實現,本文將詳細介紹,需要了解的朋友可以參考下
    2012-11-11
  • JavaScript中創(chuàng)建原子的方法總結

    JavaScript中創(chuàng)建原子的方法總結

    這篇文章主要給大家總結介紹了關于JavaScript中創(chuàng)建原子的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • Express的路由詳解

    Express的路由詳解

    這篇文章主要介紹了Express的路由詳解的相關資料,需要的朋友可以參考下
    2015-12-12
  • 原生js實現類似fullpage的單頁/全屏滾動

    原生js實現類似fullpage的單頁/全屏滾動

    這篇文章主要介紹了利用原生js實現類似fullpage的全屏滾動的實現方法,文中給出了完整的實例代碼,相信對大家的理解和學習具有一定的參考價值,需要的朋友們可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • JavaScript實現連連看連線算法

    JavaScript實現連連看連線算法

    這篇文章主要為大家詳細介紹了JavaScript實現連連看連線算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 詳解GoJs節(jié)點的折疊展開實現

    詳解GoJs節(jié)點的折疊展開實現

    這篇文章主要為大家介紹了GoJs節(jié)點的折疊展開實現示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05

最新評論