包設計原則六大原則
高內聚 - 重用發佈等價原則
- 重用的力度就是發佈的粒度
- 一個包裡面的類要麼都可重用,要麼都不可重用
- 一個包中所有類對同一使用者而言,都可重用
高內聚 - 共同重用原則
- 一個包中所有類應該共同重用;如果重用了一個類,那麼就要重用包中的所有類
- 僅僅依賴其中一部分是不可能的;否則需要進行不必要的重新驗證和發佈,費時費力
高內聚 - 共同封閉原則
- 一個包中所有類對於同一種變化應該是共同封閉的
- 一個修改如果對一個包產生影響,則將會對包所有類產生影響,對於其他包不影響
- 通常,可維護性超過可重用性;如果代碼需要修改,寧願集中在一個包改,而不是多個包改
低耦合 - 無環依賴原則
包的依賴關係圖不允許存在環
解除環方案
- 使用依賴倒置原則,抽出接口或者抽象類
- 將相互依賴的A包和B包共同依賴的類移到新包N,A包和B包依賴新包N
TIP
- 不能自頂向下的設計包
- 包的依賴關係結構和系統的邏輯設計一起增長和演化
低耦合 - 穩定依賴原則
可改變的包位於頂部,依賴底部穩定的包
穩定性
- 穩定性 = 包內依賴包外類的數量 / (包內依賴包外類的數量 + 包外依賴包內類的數量)
- 0意味著很穩定,1意味著極不穩定
低耦合 - 穩定抽象原則
- 包的抽象程度應該和其穩定程度一致
- 穩定的包應該是抽象的
- 不穩定的應該是具體的
抽象程度
- 抽象程度 = 包中抽象類數目 / 包所有類數目
- 0意味著包中沒有抽象類
閱讀更多 IT學習分享 的文章