さまざまな顧客向けの製品 (ASP.NET ソリューション) を開発しています。このソリューションは、3 つの VS プロジェクト、ビジネス エンティティ、ビジネス サービス、および Web で構成されています。お客様ごとにカスタマイズが必要になる場合があるため、これら 3 つのプロジェクトにいくつかの変更を加える必要があります。
ビジネス エンティティ プロジェクトにはプロパティのみを持つクラスが含まれ、ビジネス サービスにはメソッドのみを持つクラスが含まれ、これらのメソッドはビジネス エンティティ クラスを使用します。
私の問題は、これらの 2 つのプロジェクト (エンティティ、サービス) を顧客ごとに複製したくないということです。コードはほぼ同じになるからです。
エンティティとサービスを共通のライブラリとして作成し、新しいソリューションごとに参照することを考えました。顧客がカスタマイズを必要とする場合は、これら 2 つのライブラリを拡張できます。
拡張メソッドは、「ビジネス サービス」クラスを拡張するのに役立ちましたが、「ビジネス エンティティ」クラスについては、そのプロパティを拡張する適切なソリューションを見つけることができませんでした。.NET には拡張プロパティがありません。
部分クラスを作成することを考えましたが、これが良い方法かどうかわかりません。
誰かがより良い解決策を持っていますか?