ビジネス・オブジェクト継承

ビジネス・オブジェクトは、別のビジネス・オブジェクトを親として参照することで、そのオブジェクトのビジネス・ルールを継承する場合があります。子ビジネス・オブジェクトには、さらに子を設定でき、以下同様に設定できます。親のルールは、そのすべての子に自動的に適用されます(蓄積せずに即時に適用)。子ビジネス・オブジェクトには独自のルールを常に導入できますが、継承したルールは削除またはバイパスできません。

次の図に、複数レベルのビジネス・オブジェクト継承を示します。

複数レベルのビジネス・オブジェクト継承

「BusinessCustomer」ビジネス・オブジェクトは、親ルールを拡張し、その子ビジネス・オブジェクトに関連付けられている顧客のすべてのタイプについてもクレジット履歴の確認を実施していることに注意してください。

ほとんどのタイプのビジネス・オブジェクト・システム・イベントでは、複数のアルゴリズムを実行できます。たとえば、1つのビジネス・オブジェクトに対して複数の「検証」アルゴリズムを定義できます。この場合、すべてのアルゴリズムは継承チェーンの最上位レベルの親ビジネス・オブジェクトから開始して下位レベルに移動し、すべてのレベルで実行されます。

他のタイプのシステム・イベントでは、単一のアルゴリズムを実行できます。たとえば、ビジネス・オブジェクト・インスタンスの標準の摘要を書式設定する「情報」アルゴリズムのみを設定できます。この場合、アルゴリズムは現在処理中のビジネス・オブジェクトに最も近いレベルで実行されます。

注意: 親と子は同じメンテナンス・オブジェクトを参照する必要があります。
注意: データ構造は継承されません。親ビジネス・オブジェクトに対してスキーマを宣言できますが、その子はそれらのスキーマを継承しません。子ビジネス・オブジェクトのスキーマには親ビジネス・オブジェクトのスキーマを含めるように設計することをお薦めします。
注意: ユーザー・インタフェース・マップが継承されます。UIレンダリングに使用するUIマップがビジネス・オブジェクトにあるかどうかを決定する場合、オプションとしてビジネス・オブジェクトにリンクされている表示とメンテナンス・マップがシステムで検索されます。識別ビジネス・オブジェクトにマップが定義されていない場合、システムでは使用するマップが検出されるまで継承チェーンの上位をたどります。これにより、子ビジネス・オブジェクトを使用して親ビジネス・オブジェクトのビジネス・ルールを拡張できますが、ユーザー・インタフェースの動作は継承されます。詳細は、「ビジネス・オブジェクトによるユーザー・インタフェースの定義」を参照してください。
注意: 継承の適切な使用。親のビジネス・オブジェクトへの動作の抽象化による、冗長なロジックの回避と保守の簡略化はお薦めの方法ですが、ビジネス・オブジェクトの複雑な階層を保守するのは容易ではないため、実行する前に、再利用の利点と透明性におけるコストを比較してください。