Skip to main content

継承と組織階層の特殊化

概要

パターン継承は、既存のワークプールの中でクラスを特殊化したり、組織構造に応じてアプリケーションを特殊化したりする際に活用できます。

次の表に、Pegaのクラスの命名規則をまとめました。 各クラス名には、組織とクラスの特殊化という2つの任意の目次的な階層があります。 次の表では、3つの列の各値を任意に組み合わせてクラス名を作成できます。

任意の組織 任意のアプリケーション修飾子のプレフィックスと標準のData/Work/Intプレフィックス 任意のクラスの特殊化
Org- [App-]Data-Class -A
Org-Div- [App-]Work-CaseType -B-C
Org-Div-Unit- [App-]Int-Class -B-D

上の表に記載するパターンを用いたCaseTypeクラス名の例は、次のとおりです。

Org-App-Work-CaseType

Org-App-Work-CaseType-B

Org-App-Work-CaseType-B-C

パターン継承クラスの特殊化

たとえば、親ケースが子ケースのクラスをインスタンス化する場合は、どのパターン継承実装クラスを使用するかを決定するための正しい情報を持っている必要があります。 以下の例に示すように、クラスは、FSG-Data-Event.Categoryプロパティに基づいて実行時に決定できます。 親ケースの場合も、同じ情報を使って、親ケースのクラスをパターン継承クラスに変更することを決定できます。

Pattern inheritance

特殊化されたクラスの数が比較的少ないと仮定すると、パターン継承の特殊化によって、Dev Studio内のApp Explorerを使用する際の保守性が向上します。 パターンが特殊化されたルールはすべてクラス別にグループ化され、App Explorerで、ルールカテゴリー別からルールタイプ別の順に表示できるようになります。

Class Explorer Pattern Inheritance Example
この図は、パターン継承の使用によりBookEventケースを拡張して、「Music」と「Seminar」関連イベントをサポートした場合に表示されるアプリケーションエクスプローラを示しています。

組織階層の特殊化

企業の組織構造を利用して、ケースタイプを特化したり、直接継承を使用してコンポーネントアプリケーションを再利用したりできます。

たとえば、ある部門専用のアプリケーションを作成できるほど大規模な企業もありますが、 こうしたアプリケーション内のコードは、往々にして他の部門と共有されていません。 このような場合は、部門の修飾子を含むケースタイプのクラス名を特化します。 下記のような例があります。

ORG-DIV-APP-[Work/Data/Int]-

ほとんど使用されていませんが、Pega Platform™は組織単位までをサポートしています。 このような場合に、ケースタイプのクラス名は、組織単位の修飾子を含みます。 下記のような例があります。

ORG-DIV-UNIT-APP-[Work/Data/Int]-

この例では、ORG-DIV-UNIT-APP-[Work/Data/Int]-組織単位レベルのクラスは、ORG-DIV-APP-[Work/Data/Int]-組織単位レベルのクラスを直接継承でき、これにより、組織単位レベルで事業部門レベルのクラスの特殊化が可能になります。

組織内の任意のアプリケーションがコンポーネントアプリケーションを再利用できる場合は、エンタープライズレイヤーアプリケーションによる組み込みアプリケーションとしてこのコンポーネントアプリケーションを指定できます。

同様に、特定の部門内の任意のアプリケーションで再利用可能なコンポーネントアプリケーションを、特定の部門レイヤーアプリケーションによる組み込みアプリケーションとして指定することもできます。


このトピックは、下記のモジュールにも含まれています。

If you are having problems with your training, please review the Pega Academy Support FAQs.

このコンテンツは役に立ちましたか?

改善できるところはありますか?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice