自上而下和自下而上的設計方法

“自上而下”的設計從某個很高的抽象層次開始。你定義出基類或其他不那么特殊的設計元素。在開發(fā)這一設計的過程中,你逐漸增加細節(jié)的層次,找出派生類、合作類以及其他更細節(jié)的設計元素。

“自下而上”的設計始于細節(jié),向一般性延伸。這種設計通常是從尋找具體的對象開始,最后從細節(jié)之中生成對象以及基類。

自上而下策略和自下而上策略的最關鍵區(qū)別在于,前者是一種分解(decomposition)策略而后者是一種合成(composition)策略。前者從一般性問題出發(fā),把該問題分解成可控的部分。后者從可控的部分出發(fā),去構造一個通用的方案。

自上而下設計的強項是它簡單,因為人們是很善于把一些大食物分解為小的組件,而程序員更是精于此道。

自上而下的另一個強項是你可以推遲構建的細節(jié)。軟件系統(tǒng)常常受到構建細節(jié)變化的騷擾,因此,盡早知道應該把這些細節(jié)隱藏在繼承體系的底層類中,是非常有益的。

自下而上的一個強項是通常能夠較早找出所需的功能,從而帶來緊湊的、結構合理的設計。

自下而上的一個弱項是很難完全獨立的使用。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容