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

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

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

    離弦之Ray

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

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

    Factory Pattern

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

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

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

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

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

    posted on 2007-09-10 23:21 離弦之ray的技術(shù)天空 閱讀(234) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Design Pattern
    主站蜘蛛池模板: 亚洲高清专区日韩精品| 亚洲乱码中文字幕综合234| 亚洲精品国产成人专区| 91av免费在线视频| 国产亚洲?V无码?V男人的天堂 | 色偷偷女男人的天堂亚洲网| 亚洲欧洲免费视频| 亚洲成人黄色网址| 热re99久久6国产精品免费| 亚洲av永久无码精品网站 | 亚洲国产乱码最新视频| 啦啦啦手机完整免费高清观看| 亚洲日本一线产区和二线 | 亚洲成在人线中文字幕| 中文字幕在线免费观看| 91亚洲性爱在线视频| 一个人免费观看视频www| 亚洲AV无码一区二区三区电影| 国产美女做a免费视频软件| 四虎影视在线看免费观看| 亚洲精品无码乱码成人| 久久午夜羞羞影院免费观看| 亚洲国产精品综合一区在线| 四虎影院免费视频| 一区二区三区免费视频观看| 亚洲激情在线观看| 午夜小视频免费观看| 国产成人无码精品久久久久免费| 中文字幕亚洲乱码熟女一区二区 | 亚洲精品理论电影在线观看| 国产精品亚洲玖玖玖在线观看| 免费无码黄网站在线看| 国产99在线|亚洲| 亚洲精品成人a在线观看| 热re99久久6国产精品免费| 亚洲日韩一区二区三区| 亚洲色偷偷综合亚洲AVYP| 69成人免费视频无码专区| 伊人久久国产免费观看视频| 亚洲无限乱码一二三四区| 亚洲AV成人潮喷综合网|