ほとんどのクラスが1つのパッケージに配置されている大規模なコードベースをリファクタリングしています。モジュール性を高めるために、各機能のサブパッケージを作成しています。
パッケージ依存関係グラフにはループがあってはならないことをどこかで覚えていましたが、次の問題を解決する方法がわかりません:Figure
パッケージfigure
にLayout
あり、パッケージlayout
にLayout
あり、レイアウトを実行するために図が必要なので、パッケージlayout
はパッケージに依存しますfigure
。しかし、一方で、a Figure
はFigure
、その中に他のを含むことができ、独自のを持ちLayout
、packageをpackageにfigure
依存させますlayout
。
実装するContainer
インターフェイスを作成Figure
してLayout
パッケージに入れるなど、いくつかのソリューションがあります。これは良い解決策ですか?他の可能性はありますか?
ありがとう