TruckStop에는 TruckClass 목록과 Weigh()라는 메서드가 있습니다. TruckClass는 Weigh()를 호출해야합니다. 다음 두 디자인의 장점/단점은 무엇입니까? TruckClass에 TruckStopClass에 대한 참조가 있고 MyTruckStopClassReference.Weigh() Vs. TruckClass는 TruckClass를 발생시킵니다. TruckStopClass가 처리하는 대규모 이벤트입니다..Net 디자인 장점/단점 : 서로를 참조하는 개체 대. 이벤트?
서로 참조하는 개체가 GC에 영향을주지는 않지만 각 TruckClass에 추가 참조가 필요하다는 것을 읽었습니다. 동전의 반대편에서, 나는 이벤트 핸들러가 참조가된다는 사실을 읽었으며, 만약 당신이 그들을 unwire하지 않는다면 문제를 일으킬 수있다. 이 문제에 대한 찬성/반대/모범 사례/의견에 대한 약간의 명확성이나 논평은 인정 될 것입니다.
하나 이상의 저울과 많은 트럭이있는 트럭 정류장이 하나만 있다고 가정합니다. 가능한 한 현실에 충실하십시오. 트럭 정류장이 저울을 관리하므로 TruckStop 클래스는 트럭에서 GetWeigh()를 호출해야합니다. 트럭이 스케일을 사용할 수 있는지 또는 자신의 직업이 알지 못하는지 알 수 없으므로 다른 방향으로 갈 수는 없습니다 –
Truck/TruckStop은 구성 예입니다. 트럭 운전자가 무게를 달기로 결정하기 전에 먼저 연료를 얻도록 결정할 수 있습니다. 나는 "자식 클래스"가 "부모 클래스"의 메서드 호출을 트리거해야하는 상황에서 이벤트를 발생시키는 개체 대 서로 참조하는 개체의 장점/단점에 더 관심이 있습니다. – N0Alias
아이는 부모가 될 필요가 없을 때 부모와 연결되어 있다는 것입니다. 그들은 별도의 책임을지며 그렇게 대우 받아야합니다. 가비지 컬렉터에 대한 논의는이 시점에서 과잉입니다. –