業務物件繼承

業務物件可以將另一個業務物件參考為上階,以此方式繼承其業務規則。下階業務物件也可以有下階,以此類推。上階的規則會自動套用至所有下階 (不需編譯 - 可立即套用)。下階業務物件永遠可引入其本身的規則,但無法移除或略過繼承的規則。

下列是多個業務物件繼承層級的圖例。

樹狀圖。最上層是上階業務物件,在這裡是一般客戶。它有真人客戶和業務客戶作為下階業務物件。業務客戶有兩個下階:公司客戶與合夥客戶。當系統新增真人客戶類型時,會傳送歡迎信函。當系統新增公司客戶或合夥客戶時,會傳送歡迎信函,並檢查其信用記錄。

請注意「業務客戶」業務物件如何延伸其上階規則,以便同時對與其下階業務物件相關之所有類型的客戶強制進行信用歷史檢查。

大多數類型的業務物件系統事件都允許執行多個演算法。例如,您可以對業務物件定義多個驗證演算法。針對這些事件,系統會在繼承鏈的所有層級執行所有演算法,從最高層的上階業務物件一路移往下層。

其他類型的系統事件則允許執行單一演算法。例如,您只能有一個資訊演算法,來格式化業務物件執行環境的標準描述。針對這些事件,系統會執行位於最接近目前所處理業務物件之層級的演算法。

備註:上階與下階必須參考相同的維護物件。
備註:不會繼承資料結構。雖然您可以宣告上階業務物件的結構,但其下階不會繼承它們。將下階業務物件結構設計為包含其上階業務物件的結構,會是個不錯的做法。
備註:會繼承使用者介面對應。判斷業務物件是否具有用於 UI 轉譯的 UI 對應時,系統會尋找連結至業務物件作為選項的顯示與維護對應。如果識別業務物件未定義對應,則系統會「沿著繼承鏈向上」直到找到可使用的對應為止。這允許下階業務物件用於延伸上階業務物件的業務規則,但繼承其使用者介面行為。請參考業務物件定義其使用者介面以取得更多資訊。
備註:明智地使用繼承。雖然為了避免邏輯重複、簡化維護而將行為抽象化成上階業務物件的做法,在理智上看來頗具吸引力,但因階層複雜的業務物件維護不易,請先權衡再利用的效益與透明度方面的成本,再決定是否要這麼做。