2009-06-02 9 views
0

ウェブアプリケーションのURL生成がプレゼンテーションレイヤを担当しています。 URLを含むメッセージを送信する別のモジュールを考えてみましょう。 (プレゼンテーションから必ずしもトリガーされない)。 しかし、プレゼンテーション層はモジュールについて知っていなければなりません(がトリガーになる可能性があり、ユーザーはフロントエンドを使用してモジュールを設定できます)。バックエンドモジュールにはプレゼンテーション層からのURLが必要です - 循環依存性を回避する方法?

I.e.モジュールはお互いに依存しています...どのようなアイデアでこの循環的な依存関係を避けることができますか?

私のデータベースにURLを格納することは私には当てはまりません.2つのモジュールをマージする場合も同じです。

ご意見やご感想をいただければ幸いです。どうも。

答えて

0

ここでインターフェイスヘルプを使用しませんか?バックエンドモジュールのUrlGeneratorインターフェイスを指定して「消費」し、プレゼンテーションレイヤに実装する方法はありますか?

何らかの依存性注入メカニズム(UrlGeneratorクライアントの構築のための工場パターン、SpringやGuiceのようなフレームワーク、Service Locatorパターン)と組み合わされて、周期的なコンパイル時の依存関係が解消されます。

1

両方のモジュールが知っているが、お互いを知らない第3のモジュールを作成しますか?

+0

hmmm多分、あなたが指摘しているものが得られないかもしれませんが... AがBに依存し、その逆で、Cを間に入れている場合、2つの循環参照があります:A <-> C <-> B URLジェネレーションを第三者プロジェクトで囲むことをお勧めする場合、これは可能ではないと思われます。ページクラスはURLのマウントに必要です。URLはページにリンクを生成するために必要です.... –

+1

いいえ、A→CとB→Cの依存関係を作ります。 –

関連する問題