OOP理論が正しいかどうかは議論の対象となりますが、状況によってはCを非常に早く排除することはしません。 tiはかなり大きな依存関係を作成しますが、Cの特定の役割がAからBへの相互作用(およびコピー)を管理することであれば、それを使うことができます。依存関係は、AとBの間の依存関係を避けるためにさらに、Cは依存関係を管理するために特別に存在し、そのことを念頭に置いて実装することができます。
Ex。 (vb.Net/Pseudocodeで):
、たとえば、AtoBConverterClassを作成するための具体的な理由がある場合
Public Class C
Public Shared Function BClassFactory(ByVal MyA As A) As B
Dim NewB As New B
With B
.CommonProperty1 = A.CommonProperty1
.CommonProperty2 = A.CommonProperty2
End With
Return B
End Function
End Class
、このアプローチは有効かもしれません。
また、これは特殊なケースです。しかし、私はそれを機会に役立つと感じました。特に、AとBがお互いに無知であることを本当に重要な理由があるならば。
これはおそらくプログラマーの方が良いでしょう。 – beetstra