2013-03-22 5 views
1

메디 에이터 객체에 관심이있어 유용하게 들리 겠지만 코드 예제를 해독하여 해당 객체와 상호 작용하고 그 객체를 빌드하는 방법을 배우려면 나를 탈퇴하십시오. 코드 예제가 일부 설명과 함께 제공된다면 그 코드 예제를 좋아합니다. 누군가 내가 중재자 객체를 만들 때 내가 만들고있는 것을 설명 할 수 있습니까?메디 에이터 개체는 어떻게 작동합니까? 그 배후의 아이디어는 무엇입니까?

메디 에이터 객체는 클래스간에 전송되는 액션 이벤트를 처리 할 수 ​​있습니까? 또는 중재자 객체는 단순히 같은 코드를 하나의 편리한 장소로 통합하는 데 더 도움이됩니까?

편의를 위해 실용적인 것이거나 그것이하는 일을 할 수있는 다른 방법이 없기 때문에 실용적인지는 알 수 없습니다. 그러나 "세부적으로 말하면"어떤 세부 사항도 가장 뛰어납니다. 미리 감사드립니다.

+1

[Mediator 패턴에 대한 [Wikipedia article] (http://en.wikipedia.org/wiki/Mediator_pattern)을 읽으려고하십니까? – RJo

+0

나는, 나는 단지 "영어"라는 설명이 실제로 무엇을하는지 이해하지 못한다. 나는 이것이 당신이 필요로하는 것에 특화된 것이거나 이것을 시도 할 때 준수해야 할 표준이 있는지 궁금합니다. –

답변

3

메디 에이터 개체는 이고 아무 것도 수행하지 않으려는 사람은입니다. 어떤 멀티플렉싱/디 멀티플렉싱 (한 객체가 여러 객체에 동일한 메시지를 보낼 때)을 제외하고 이미 가지고있는 로직을 옮겨서는 안됩니다. 조정자는 외부 인터페이스 (동시에 동시에 정면으로 사용되는 경우) 및 명확하게 기존 개체간에 채널을 전달하는 메시지입니다.

마찬가지로 메시지 전달 채널에 대한 필요성을 이미 인식해야만 조정자를 생성해야합니다. 그러한 필요성은 어떻게 생겼습니까? 당신은 이미 점점 더 복잡한 방식으로 서로를 호출하는 일련의 객체들을 가지고 있습니다. 이러한 객체는 서로에 대한 참조를 저장합니다. 그러한 참조의 수는 이미 그러한 객체 자체의 수보다 커지고있다.

그래서 각 객체는 (2 차수의 참조와 복잡한 상호 작용 그래프로) 각 객체와 대화하면서 상호 작용에 스타 토폴로지를 도입합니다. 모두가 중재자와 직접 대화를 나눕니다. 그런 다음 인스턴스화, 모니터링, 디버그, 확장, 다형성을보다 쉽게 ​​수행 할 수 있습니다.

중재자를 너무 일찍 도입하지 않으면 전체적인 복잡성이 떨어지는 대신 증가합니다.

+0

그것은 내가 혼란스러워했던 모든면에 대한 통찰력을 주었던 환상적인 대답이었습니다. 대단히 감사합니다! –