0

さまざまな顧客向けの製品 (ASP.NET ソリューション) を開発しています。このソリューションは、3 つの VS プロジェクト、ビジネス エンティティ、ビジネス サービス、および Web で構成されています。お客様ごとにカスタマイズが必要になる場合があるため、これら 3 つのプロジェクトにいくつかの変更を加える必要があります。

ビジネス エンティティ プロジェクトにはプロパティのみを持つクラスが含まれ、ビジネス サービスにはメソッドのみを持つクラスが含まれ、これらのメソッドはビジネス エンティティ クラスを使用します。

私の問題は、これらの 2 つのプロジェクト (エンティティ、サービス) を顧客ごとに複製したくないということです。コードはほぼ同じになるからです。

エンティティとサービスを共通のライブラリとして作成し、新しいソリューションごとに参照することを考えました。顧客がカスタマイズを必要とする場合は、これら 2 つのライブラリを拡張できます。

拡張メソッドは、「ビジネス サービス」クラスを拡張するのに役立ちましたが、「ビジネス エンティティ」クラスについては、そのプロパティを拡張する適切なソリューションを見つけることができませんでした。.NET には拡張プロパティがありません。

部分クラスを作成することを考えましたが、これが良い方法かどうかわかりません。

誰かがより良い解決策を持っていますか?

4

1 に答える 1

1

プロパティを「仮想」にすると、クライアントのニーズに基づいてプロパティをオーバーライドできます。そうすれば、部分的なクラスを作成するという道をたどる必要はありません。

これが「仮想」にするための情報へのリンクです

于 2012-09-10T11:53:00.053 に答える