web-dev-qa-db-ja.com

循環参照の利点?

私は最近、次の質問からいくつかの.Netアセンブリの間に循環依存関係が存在することを発見し、これらが存在する理由の説明を探しています:

https://stackoverflow.com/questions/43505621/circular-reference-in-net-assemblies

循環参照を避ける理由はたくさんありますが、何か利点はありますか?そうでない場合、なぜこれらが存在し、なぜクリーンアップされなかったのかという歴史的な理由は何ですか?

6
Seth Denburg

循環参照を持つことの利点は1つだけであると考えることができますが、それはかなり疑わしいものです。ライブラリ/モジュールが少ないということです。 2つのエンティティ間のこのような参照を解決するには[〜#〜] a [〜#〜][ 〜#〜] b [〜#〜]、通常は3番目のエンティティを導入する必要があります[〜#〜] c [〜#〜]何でも含む[〜#〜] a [〜#〜][ 〜#〜] b [〜#〜]共通の必要性:

Resolution of circular dependencies

循環依存関係が誤って導入されたと思いますが、たとえば、一部のパブリッククラスまたはメソッドの再配置によって下位互換性が失われるため、関連するライブラリのもつれを解くのは遅すぎます。

4
Ant_222