高內聚,低耦合不錯的例子

接口,再設計上跟類型是同樣的東西,就是類型。在設計上並不糾結什麼.net 編程術語,而是各種OO語言都公認的基本術語。

所以“寫接口、寫父類、寫抽象類”,以及一大堆其它說法(比如說.net根本不支持的多重繼承技術),都是一樣的東西——可以用來降低耦合、保證高內聚地封裝。

比如說你開發一個通用的 ATM 程序,面對5種大類、25種小類,假設有500種不同的銀行卡處理流程,你要寫500個程序嗎?不是的。你首先寫了一個ATM 流程父類,然後5種大類的差別在子類中重寫,然後25種小類與其大類的差別又分別在小類中進行重寫,然後每一種銀行卡的一點點差別又分別在每一個銀行卡類中進行重寫。

假設有1000個人跟這500種銀行卡發生關係,是要考慮 50萬種情況嗎?不是的。因爲ATM 只有一種——所有的銀行卡都是它的子類,因此具體的銀行卡流程是通過父類給外界打交道的。

分層擴展,繼承和多態,就是保證高內聚低耦合的一種設計手段。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章