第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

策略模式和模板模式該怎么區(qū)分?

策略模式和模板模式該怎么區(qū)分?

慕仙森 2018-08-03 21:27:32
看了這兩個(gè)設(shè)計(jì)模式之后, 對(duì)于簡(jiǎn)單直接的例子可以判斷, 策略模式就是定義算法族, 然后通過組合算法族和委托的辦法來實(shí)現(xiàn)類, 模板方法則是父類定義算法的骨架,子類再來實(shí)現(xiàn)骨架中的部分步驟;但是有兩個(gè)例子我很不理解:1. thingking in java里面有講到File.list(FilenameFilter filter)和FilenameFilter就是策略設(shè)計(jì)模式. 這是書中的原文:因?yàn)閘ist()實(shí)現(xiàn)了基本的功能, 而且按照FilenameFilter的形式提供了這個(gè)策略, 以便完善list()在提供服務(wù)時(shí)所需的算法我覺著 list()在內(nèi)部使用FilenameFilter, 也可以理解為File定義好了算法骨架, 由FilenameFilter補(bǔ)齊部分步驟, 這么想 這就是 模板方法; Arras.sort()head first設(shè)計(jì)模式 里面講到Arrays.sort(Object[] objects)和``Comparable```是模板方法設(shè)計(jì)模式. 這是head first的原文:因?yàn)檫@個(gè)模式的重點(diǎn)在于提供一個(gè)算法, 并讓子類實(shí)現(xiàn)某些步驟而數(shù)組的排序做法明顯也是如此.我是這么想的: sort()函數(shù)提供了基本的功能, 元素的比較由comparable算法族來實(shí)現(xiàn); 我這樣想, sort()函數(shù)就是策略模式;到底這兩者該怎么區(qū)分呢? 還是我的理解哪里有問題?
查看完整描述

2 回答

?
慕容森

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊

設(shè)計(jì)模式只是抽象的結(jié)果。而抽象的主要作用就是增加代碼的可讀性,復(fù)用性和可擴(kuò)展性。所以不用刻意去在乎到底使用的是模板還是策略。

查看完整回答
反對(duì) 回復(fù) 2018-08-06
  • 2 回答
  • 0 關(guān)注
  • 2012 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)