實(shí)用文檔>常用的設(shè)計(jì)模式總結(jié)

    常用的設(shè)計(jì)模式總結(jié)

    時間:2024-09-21 15:56:12

    常用的設(shè)計(jì)模式總結(jié)

    常用的設(shè)計(jì)模式總結(jié)

    常用的設(shè)計(jì)模式總結(jié)

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

      比如Collections.sort(List list, Comparator c); 可以通過實(shí)現(xiàn)多個Comparator接口來達(dá)到多種排序的目的.

      2.裝飾著模式(Decorator): 動態(tài)的給一個對象添加一些額外的職責(zé).

      比如java.io包. BufferedInputStream封裝了FileInputStream, 它們都實(shí)現(xiàn)了InputStream接口, 但前者實(shí)現(xiàn)了readLine方法.

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

      比如在用戶登錄時, 真正的登錄類和代理登錄類都實(shí)現(xiàn)了Login接口, 不同的是Proxy類的方法中增加了用戶是否合法的判斷, 只有合法時才去調(diào)用真正登錄類的login方法. 用戶訪問的其實(shí)是Proxy的login方法.

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

      當(dāng)遇到需要根據(jù)某個前提條件創(chuàng)建不同的類實(shí)現(xiàn)時, 會實(shí)用工廠模式.

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

      比如HibernateTemplate, 在Template中已經(jīng)定義了Connection開關(guān)的實(shí)現(xiàn), 用戶只需要在子類中根據(jù)不同的業(yè)務(wù)寫不同的sql.

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

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

      7.建造者模式(Builder): 將一個復(fù)雜對象的構(gòu)建與它的表示分離.

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

      比如ServletContextListener, 在applcation啟動時, 會通知所有這個接口的實(shí)現(xiàn)類.

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

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

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

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

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

      比如Struts的MVC結(jié)構(gòu), 其實(shí)就是個Command模式.

    【常用的設(shè)計(jì)模式總結(jié)】相關(guān)文章:

    程序設(shè)計(jì)課堂教學(xué)模式探索論文03-20

    高三地理復(fù)習(xí)課教學(xué)模式總結(jié)(精選15篇)04-09

    常用導(dǎo)數(shù)公式總結(jié)09-24

    最流行的平面設(shè)計(jì)方法總結(jié)11-22

    常用的壓電材料分類總結(jié)10-30

    總結(jié)常用的數(shù)學(xué)算式等式04-22

    《標(biāo)牌設(shè)計(jì)》的教學(xué)設(shè)計(jì)03-14

    課程設(shè)計(jì)總結(jié)范文(通用11篇)12-16

    設(shè)計(jì)分層教學(xué)目標(biāo)設(shè)計(jì)05-20

    《字的創(chuàng)意設(shè)計(jì)》的教學(xué)設(shè)計(jì)03-02

    用戶協(xié)議
    国产一级a爱做免费播放_91揄拍久久久久无码免费_欧美视频在线播放精品a_亚洲成色在线综合网站免费

      亚洲人成在线播放a偷伦 | 亚洲成A人片在线观看57 | 亚洲精品网站在线 | 午夜国产精品视频 | 最新中文一区二区在线播放 | 最新日本一区二区三区视频 |