日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

設(shè)計模式之九(模版方法模式)

 昵稱10504424 2013-09-11

前言

模版方法模式:定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模版方法使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。

結(jié)構(gòu)圖

代碼實(shí)現(xiàn)

 AbstractClass是抽象類,其實(shí)也就是一抽象類,定義并實(shí)現(xiàn)了一個模版方法,這個模版方法一般是一個具體方法,它給出了一個頂級邏輯的骨架,而邏輯的組成步驟在相應(yīng)的抽象操作中,推遲到子類實(shí)現(xiàn)。頂級邏輯也有可能調(diào)用一些具體方法。

ConcreteClassA,實(shí)現(xiàn)父類所定義的一個或多個抽象方法。每一個AbstractClass都可以有任意多個ConcreteClass與之對應(yīng),而每一個ConcreteClass都可以給出這些抽象方法(也就是頂級邏輯的組成步驟)的不同實(shí)現(xiàn),從而使得頂級邏輯的實(shí)現(xiàn)各不相同。

客戶端調(diào)用

 運(yùn)行結(jié)果如下

總結(jié)

 當(dāng)不變的和可變的行為在方法的子類實(shí)現(xiàn)中混合在一起的時候,不變的行為就會在子類中重復(fù)出現(xiàn)。我們通過模版方法模式把這些行為搬移到單一的地方,這些幫助子類擺脫重復(fù)的不變行為的糾纏。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多