1. <rp id="zsypk"></rp>

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

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

        時(shí)間:2022-06-15 10:07:40

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          比如ServletContextListener, 在applcation啟動(dòng)時(shí), 會(huì)通知所有這個(gè)接口的實(shí)現(xiàn)類(lèi).

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

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

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

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

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

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

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

        如何運(yùn)用翻轉(zhuǎn)課堂教學(xué)模式進(jìn)行說(shuō)課設(shè)計(jì)論文(精選15篇)09-14

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

        初中常用實(shí)詞總結(jié)07-25

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

        計(jì)算機(jī)常用小技巧總結(jié)12-20

        高中物理解題常用經(jīng)典模型的總結(jié)04-08

        《軍神》教學(xué)設(shè)計(jì)03-30

        列方程解應(yīng)用題的常用公式總結(jié)12-07

        《灰塵的旅行》教學(xué)設(shè)計(jì)03-03

        《郵票的張數(shù)》教學(xué)設(shè)計(jì)06-15

        用戶(hù)協(xié)議
        99热这里只有精品国产7_欧美色欲色综合色欲久久_中文字幕无码精品亚洲资源网久久_91热久久免费频精品无码
          1. <rp id="zsypk"></rp>