paulwong

          設(shè)計(jì)模式簡(jiǎn)釋

          策略模式:

          場(chǎng)景:又稱(chēng)警察模式,假設(shè)小明開(kāi)快車(chē),遇到警察,可能是好警察,只是口頭警告一下,就讓小明走了,也可能是強(qiáng)硬的警察,給小明開(kāi)了罰單。但小明是不知道到底會(huì)遇到哪種警察,要到RUNTIME的時(shí)候才知道。

          不好的封裝:將好警察的處罰行為封裝為一個(gè)類(lèi)A,將強(qiáng)硬警察的處罰行為封裝為另一個(gè)類(lèi)B,將判斷如何處罰封裝成一個(gè)類(lèi)C,在這個(gè)類(lèi)中判斷類(lèi)的類(lèi)型,如果是A類(lèi),則執(zhí)行A方法,如果是B類(lèi),則執(zhí)行B方法。

          良好的封裝:將警察的處罰行為統(tǒng)一為一個(gè)接口I-A的一個(gè)方法,類(lèi)C的執(zhí)行方法只傳入接口I-A。

          posted on 2014-08-26 17:34 paulwong 閱讀(340) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Design Pattern

          主站蜘蛛池模板: 澄江县| 马尔康县| 鄱阳县| 千阳县| 营山县| 尼木县| 兰溪市| 龙陵县| 沙田区| 富裕县| 虞城县| 永善县| 班玛县| 香格里拉县| 寻乌县| 灵璧县| 博白县| 京山县| 济宁市| 淮滨县| 乡宁县| 乌兰浩特市| 大连市| 尼木县| 枣庄市| 九江县| 皮山县| 连州市| 常熟市| 罗城| 太仆寺旗| 石嘴山市| 台前县| 和硕县| 肇源县| 常德市| 新巴尔虎左旗| 翁源县| 雅安市| 永登县| 凌海市|