<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    離弦之Ray

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      55 Posts :: 0 Stories :: 33 Comments :: 0 Trackbacks
     

    Decorator Pattern其實早就接觸過了,從java的輸入語句中可見一斑InputStream in = new BufferedInputStream(new FileInputStream(“test.txt”)); 其中BufferedInputStream FileInputStream 都是InputStream的子類,通過包含關(guān)系,讓外圍的類包含內(nèi)部那個類的功能及數(shù)據(jù),說的形象一點,就是在內(nèi)部那個類外面加了一層裝飾。這也是裝飾模型最核心的概念。

    Factory Pattern

    書中舉了匹薩店的例子,一開始的類,將制作不同類型匹薩的方法都包含在里面,整個類顯得很冗余。順著正常的思路,將制作匹薩的方法從這個類里面剝離出去單獨形成一個類,這個類就像生產(chǎn)對象的工廠,只要你告訴它該生產(chǎn)的產(chǎn)品的型號,它就生產(chǎn)對應(yīng)的對象再發(fā)送給客戶。

    按照書中的例子,如果匹薩店開在同一個城市以內(nèi),匹薩的風(fēng)味多樣,那么上述的模式很好地實現(xiàn)了上面的功能。但如果是連鎖店,每個地方的風(fēng)味不同呢?……

    是的,每個地方的風(fēng)味不同,但同一個地方不同匹薩的種類卻相當(dāng)有限。也就是說可以有一個匹薩店父類,然后各地的分店是這個父類的子類。而其中最重要的制作匹薩的方法在父類中被聲明為虛函數(shù),由各個具體的子類來實現(xiàn)。這樣“工廠”又被搬回具體的類中間。

    具體如何使用,我個人覺得是要看情況的。上面兩個是工廠模式的兩種表現(xiàn)形式。

        對于后一種模式,里面用到的對象,比如例子中匹薩的原材料,同樣可以用工廠模式來實現(xiàn),這樣程序的結(jié)構(gòu)就相當(dāng)靈活了。

    posted on 2007-09-10 23:21 離弦之ray的技術(shù)天空 閱讀(234) 評論(0)  編輯  收藏 所屬分類: Design Pattern
    主站蜘蛛池模板: 亚洲AV电影院在线观看| 亚洲另类激情综合偷自拍图| 97久久国产亚洲精品超碰热| 亚洲成在人天堂一区二区| 久久久久久久久久久免费精品| xxxxx免费视频| 亚洲综合色婷婷七月丁香| 亚洲午夜电影在线观看高清| 成人自慰女黄网站免费大全| 亚洲日产无码中文字幕| 亚洲AV无码一区二区三区电影| 日韩人妻无码免费视频一区二区三区 | 亚洲不卡视频在线观看| 毛片高清视频在线看免费观看| 国产v亚洲v天堂无码网站| 亚洲国产精品自在自线观看 | 99久久免费国产精品特黄| 在线亚洲午夜理论AV大片| 色播在线永久免费视频网站| 亚洲国产综合精品中文第一区 | 免费v片视频在线观看视频| 一级做受视频免费是看美女| 国产AV无码专区亚洲精品| 国产91色综合久久免费| 国产精品无码亚洲精品2021 | 免费中文字幕在线| 三年在线观看免费观看完整版中文 | 久久久久亚洲AV片无码下载蜜桃| 99在线精品免费视频九九视| 男男gay做爽爽的视频免费| 免费的涩涩视频在线播放| 一日本道a高清免费播放 | 小说专区亚洲春色校园| 亚洲av之男人的天堂网站| 爽爽爽爽爽爽爽成人免费观看 | 亚洲国产成人无码AV在线| 亚洲精品无码Av人在线观看国产| 4hu四虎最新免费地址| 国产精品高清免费网站| 激情亚洲一区国产精品| 伊人久久综在合线亚洲91|