封裝體的名稱和說明精確地描繪封裝體在系統中扮演的角色
封裝體有明確的目的,且包含一組相關責任
封裝體代表系統中的一個重要控制點,也代表系統中的一個重要控制緒
封裝體扮演的角色反映在對外埠中,且每一個角色有一或多個不同的埠
一個埠僅限用在一個角色中
只要是需要控制並行情境互動的地方,就已使用具有多個不同埠的封裝體
已利用介面封裝體來隔離預期未來會變更的地方
實際使用封裝體來隔離未來可能的變更和設計決策
使用協調者封裝體來管理實體之間複雜又動態的關係(一對多或多對多)
在需要調解封裝體以封裝流程的地方,使用協調者封裝體
已正確考量起始設定順序
已考量獨立控制緒的啟動和同步化
適當地使用繼承
沒有證據顯示非常扁平或縱深的一般化/特殊化階層。繼承階層中已反映明確的共通性。運用繼承並非基於實作考量(例如程式碼重複使用), 只是做為捕捉共通設計抽象概念的一種方法。超類別不只是合併子類別的屬性而已,更代表一種邏輯抽象概念。
繼承階層不含內容不相關的中間抽象類別。
|
|