다 대다 관계에서 상호 작용 패턴을 선택하는 문제가 자주 발생합니다. 다음 예제는 동일한 목표를 달성하기위한 네 가지 방법을 보여줍니다.중재자의 네 가지 유형
목표는 다른 (LazyBob
, CleverAnn
, FastJon
)에 개체의 한 그룹 (DeliveryCompany
, College
, Supermarket
)에서 메시지 (광고에)를 제공하는 것입니다. 분명히 우리는 중재자 (AdBoard
)가 필요합니다. 게시자는 적절한 사람과 가입자에게 광고를 전달하여 흥미로운 제안을 알릴 수 있습니다.
광고에 대한 응답은 현재 우려 할 사항이 아니지만 문제가되는 경우 향후에 필요하다고 가정 할 수 있습니다.
모든 가입자가 자신의 차이를 설명하는 인터페이스를 구현해야합니다 : 어쨌든,이 응답은 다른 경로 (? 우리가 바로, 다른 광고와 광고에 응답하지 않는 것) 먼저
이 있어야합니다. 중재자는 그들과 함께 주입되어 출판사의 목적을위한 인터페이스를 구현합니다. 둘째
: 최초의
역 버전. 이제 게시자는 자신의 선호 사항을 설명하는 인터페이스를 구현합니다. 이것은 가입자의 목적을위한 인터페이스를 구현하는 조정자가 사용합니다. 셋째
: 타겟 광고에을 (백 엔드)를 보내기위한 흥미로운 주제 (프런트 엔드)에 광고를 수신 :
중재자는 두 개의 인터페이스를 구현합니다. 모든 게시자에게 백엔드 삽입, 모든 가입자에게 프런트 엔드 삽입
넷째 : 3 분의 1
역 버전. 이제 중재자는 인터페이스를 구현하는 여러 게시자와 가입자를 투입합니다.
질문 :
는 이러한 변형이 같은 성공 목표에 도달 했습니까?
개발 초기에는 의심의 여지없이 선택할 수 있습니다. 맞지 않습니까? 그렇지 않다면, 선택 알고리즘은 무엇입니까?
당신은 그 차이점을 설명 할 수 있습니까? 당신이 확신하지 못하는 결정은 무엇입니까? – Meier
차이점은 다이어그램에서 분명해야하지만 몇 분 후에 몇 가지 설명을 추가하겠습니다. 어느 것을 골라야할지 모르겠습니다. 나는 동전을 두 번 뒤집어 야하나요? 너는 무엇을 할 것이냐? – astef