Java 디자인 패턴의 중재자 패턴은 동작 패턴 중 하나입니다. 계열 개체 간의 상호 작용을 캡슐화하기 위해 매개 개체를 정의합니다. 중재자는 객체가 서로를 명시적으로 참조할 필요성을 제거하여 객체를 느슨하게 결합하고 상호 작용을 독립적으로 변경할 수 있도록 합니다.
아래와 같이:
생산자, 소비자, 대리인 간의 중개 모델의 예:
공개 추상 클래스 PersonColleague{ 보호 중재자 중재자; 공개 중재자 getMediator() { 반환 중재자; } 공개 void setMediator(최종 중재자 중재자) { this.mediator = 중재자 } 보호 추상 무효 메시지(문자열 컨텍스트);} 공개 클래스 중재자 PersonColleague 소비자 = null; private ProducerColleague 프로듀서 = null public ProducerColleague getProducer() { return producer } public void setProducer(최종) ProducerColleague 생산자) { this.producer = 생산자; } public PersonColleague getConsumer() { return Consumer; } public void setConsumer(final PersonColleague Consumer) { this.consumer = Consumer() { } public synced void message(final String) context) { if (소비자 != null) { System.out.println(context) } else if (생산자 != null) { System.out.println(context); } }}public class ConsumerColleague는 PersonColleague를 확장합니다{ public ConsumerColleague(final Mediator mediator) { this.mediator = mediator; } @Override protected void message(final String context) { this.mediator.setConsumer( this); this.mediator.message("안녕하세요! 저는 소비자입니다") }}public class ProducerColleague는 PersonColleague를 확장합니다. ProducerColleague(최종 중재자 중재자) { this.mediator = 중재자; } @Override protected void message(final String context) { this.mediator.setProducer(this) }}public class Client{ public static void main(final String[] args) { final Mediator mediator = new Mediator(); final PersonColleague person = new ConsumerColleague(mediator); person1 = new ProducerColleague(mediator); person.message("나는 소비자입니다") person1.message("나는 생산자입니다");
실행 결과:
안녕하세요! 저는 소비자입니다. 나는 생산자입니다.