これがシナリオです。csla 3.8 / c#.net を使用してアプリケーションを開発しています。アプリケーションにはさまざまなモジュールがあります。ERPのようなもので、会計、日々の勤怠記録、採用などをモジュールとして持っています。
ここでの要件は、モジュールごとに共通のエンティティをチェックし、そこから「プラットフォーム」を構築することです (<- ボスはそのように呼んでいます)。たとえば、DTR にはエンティティ「employee」があり、Recruitment には「Applicant」があるため、プラットフォームに配置できる両方から派生できる 1 つの共通エンティティは「Person」です。「人」には、名前、住所、連絡先情報などの一般的な情報が含まれます。
私はそれが OOP 101 のように聞こえることを知っています。単純な継承であればいいのですが、要件は、CSLA を使用してモジュールで使用される何らかの API を作成することです。
csla では、businessListbase、readonlylistbase などの csla の基本クラスから継承して、スマート オブジェクトを正しく作成します。たとえば、ビジネスベースの応募者クラスを作成した場合、給与要求、利用可能日などのプロパティが含まれます。個人情報については、「プラットフォーム」から「人」が必要になり、それを応募者クラスに実装します。
要約すると、いくつか質問があります。
- そのようなプラットフォームを作成する方法は?
- そのようなプラットフォームが可能である場合、各モジュールのエンティティにどのように実装されますか? (私はすでにcslaの基本クラスから継承しています)
- ケース1とケース2が可能である場合、アプリの開発やメンテナンスにメリットはありますか?
#3 を質問している理由は、そのためのプラットフォームを作成できたとしても、モジュール エンティティでプラットフォーム エンティティのプロパティを定義して、検証とすべてを行う必要があるためです。 .