emfモデルでというインタフェースと定義されたA
バンドルと、classB
というバンドルB
があるとします。バンドル内のemfモデルからコードを生成するときは、それぞれA
となります。IntA
とIntAImpl
のファイルには、それぞれインタフェースの宣言と実装が含まれています。別個のインタフェースと実装emf ecore
ここで、IntAImpl
の一部のメソッドの実装で、クラスclassB
を使用できるようにしたいとします。バンドルA
の必要なバンドルにバンドルB
を追加する必要があります。 classB
は、A
のIntA
というインターフェースで動作することもできます。これにより、A
というバンドルをバンドルB
の必要なバンドルに追加することができます。私たちはちょうど循環依存を持っています。
A.int
とA.impl
のように、インタフェースと実装が異なるバンドルで宣言されていれば、すべてうまくいっていたはずです。このようにして、B
およびA.impl
は、A.int
からの依存性を持ち、A.impl
は、B
- サイクルなしからの依存性を有するでしょう。
ここで、emfが異なるバンドルでインターフェイスと実装を生成できるようになるのでしょうか?そうでなければ、このような問題にどう対処するのですか?
私は時々、記述されているのと同じ基準で発生する循環依存を取得します。はい、実際には、循環依存を取り除くためにクラスを再設計する方法は常にあります。実装とインターフェイスが最初から分離されていても、依存関係はありません。だから、なぜそうでないのか不思議です。 – DartLenin
私はこの記事を見ましたが、輸出パッケージを制限しても、私の質問に書かれている問題は解決されません。 – DartLenin