私はちょっとした問題を抱えています。ソフトウェアの設計上の問題:循環依存
状況
ライブラリインタフェース次
は、すべてのモデルクラスのためのインターフェース(getterとsetterのみ)が含まれ
Libray Businnesロジック
は、インタフェース・ライブラリとDALの実装が含まれています。 は、サードパーティのWebサービスをメッセージングのためのクラスが含まれています: は、インタフェース&トランスポーターライブラリ
ライブラリトランスポーターを使用します。また、必要に応じて、サードパーティのライブラリの参照やWeb参照を追加したいと思っています。 インターフェイスライブラリを使用します。
これまでのところ良好です。現在、循環依存はありません。 Webサービスを呼び出す必要があるとすぐに、ビジネスロジックライブラリは "transporter"ライブラリを使用してexternメソッドを呼び出します。これはかなりうまくいく。
しかし、私は第三者が私たちの側でビジネスオブジェクトを作成できるはずのWebサービスを作成する必要があります。私は、外部のwebserviesのためにbussinesオブジェクトがメッセージオブジェクトに変換される "Transform library"を作成したいと思います。そして、私の現在のアーキテクチャには問題があると思います。このライブラリを作成したい場合は、循環依存関係があります。理由の
- トランスポーターの参照が
- を変換しているライブラリの参照を変換 BL
- BL参照トランスポーター
私はよく私の状況を説明することができることを願っています。
これを解決するためのあらゆるアイデアに感謝します。
+1右の大槌のために。しかし、モジュール化を再考することによるように、それほど強力な解決策はまだないかもしれない。 –
hmmはうまく聞こえます 私はトランスポータライブラリーにトランスフォーメーションも含める必要がありますか? – nWorx
@unicron:必ずしもそうではありません。 –