0

少し複雑なシナリオがあり、適切なモデルを決定しようとして立ち往生しています。基本的な考え方は、同じドメインで動作する複数のアプリケーションによって共有されるビジネスロジックレイヤーがあるということです。特定のマイナーな機能(セキュリティや利用可能な情報など)は、アプリケーションごとに異なります。

各アプリケーション内で使用されるアプリケーション固有のクラスがあります(ファクトリによって提供されます)。これにより、各アプリケーション内で、ロードされたオブジェクトのみが現在のアプリケーションに関連するタイプであることが保証されます。

私が遭遇した問題は、コアロジッククラスAから継承するコアロジッククラスBとアプリケーション固有のバージョンのAがある場合、アプリケーション固有のバージョンのBを両方の方法で動作させる方法が必要なことです。 Bの場合は変更され、Aの場合は変更されました。

これはちょっと古典的な多重継承問題だと思いますが、アプリケーション固有の機能とコア共有機能の両方を可能にする代替モデルのアイデアがあるかどうかを確認するためにここをチェックすると思いました。

この時点でのもう1つの方法は、アプリケーション固有のコードの継承を単純に禁止し、一般的なアプリケーション固有のコードを、関連のない両方のアプリケーション固有のリーフで使用される共有ライブラリに記述することを要求することです。

4

1 に答える 1

0

この結果、各アプリケーションの継承はリーフに限定する必要があり、複数のリーフにまたがるアプリケーション固有のものはすべて、含まれる可能性のあるクラスに分割する必要がありました。理想的ではありませんが、多重継承なしで実行できる最善の方法です。

于 2012-12-18T17:49:04.420 に答える