2013-03-10 7 views

答えて

32

それはパッケージとファイルの間で循環依存があることを意味します。

理想的には、依存関係が一方向に流れるようにすることができます。変更を加えたり、影響を予測することができます。たとえば、 "ユーザーインターフェイス"パッケージが "ビジネスロジック"パッケージに依存していても、 "ユーザーインターフェイス"パッケージに依存しないパッケージであれば、そのパッケージ外のものを破壊することなくユーザーインターフェイスを変更できるはずです。循環依存性は、例えば、ユーザインタフェースパッケージがビジネスロジックパッケージに依存することを意味するが、ビジネスロジックパッケージもユーザインタフェースパッケージに依存する。これで、ユーザーインターフェイスを変更すると、ビジネスロジックレイヤーが破損する可能性があります。その結果、ユーザーインターフェイスにはまったく関係のないものが影響を受ける可能性があります。

ソフトウェアを「レイヤ化する」というアイデアとレイヤ間の依存関係が単一方向に流れるというアイデアは、このもつれを取り除くように設計されています。

クラスをあるパッケージから別のパッケージに移動することによって、この混乱を減らすことができます。

通常、もつれはアーキテクチャ/設計の問題です。

関連する問題