OOP 이론이 올바른지 여부는 논쟁의 여지가 있지만 상황에 따라 C를 매우 빨리 배제하지 않을 것입니다. ti는 다소 큰 종속성을 생성하지만, C의 특정 역할이 A에서 B 로의 상호 작용 (및 복사)을 관리하는 것이라면 용도를 가질 수 있습니다. 종속성은 A와 B의 종속성을 피하기 위해 C에서 생성됩니다 또한 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가 서로에 대해 무지하게 유지해야하는 정말로 중요한 이유가있는 경우.
이것은 아마도 프로그래머에게 더 잘 맞을 것입니다 .stackexchange.com – beetstra