자바 중개자 모드 쉽게 파악
특징:
1. 유형의 복잡도를 낮추고 일대다를 일대일로 전환한다.
2. 각 종류 간의 결합 해소.
3. 디미트의 원칙에 부합한다.
기업급 개발 및 상용 프레임워크에서의 응용: mvc 모델의 c
구체적인 사례:
public class Demo {
public static void main(String[] args) {
Mediator m = new Mediator();
Department d1 = new Department(m, " ");
Department d2 = new Department(m, " ");
Department d3 = new Department(m, " ");
m.add(d1, "dep");
m.add(d2, "fin");
m.add(d3, "c");
d2.apply(" ", "dep");
d1.apply(" ", "fin");
d1.apply(" , ", "c");
d3.apply(" ", "fin");
}
}
class Department{
private String name;
private Mediator mediator;
public Department(Mediator mediator,String name) {
this.name = name;
this.mediator = mediator;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void apply(String thing,String coordinate){
System.out.println(" "+this.getName()+","+thing+", ");
mediator.dispatch(this, thing, coordinate);
}
public void handle(String name,String thing){
System.out.println(" "+this.getName()+","+name+" , ");
System.out.println("*******************************************");
}
}
/**
* , ,
*/
class Mediator{
private String name;
private Map<String, Department> map = new HashMap<String, Department>();
public void add(Department d,String name){
this.map.put(name, d);
}
public void dispatch(Department dpt,String thing,String coordinate){
Department d = map.get(coordinate);
d.handle(dpt.getName(),thing);
}
}
중개자 모델과 대리 모델의 차이: 처음에 이 두 모델의 모델을 들어보니 이 두 모델은 하나의 모델인 것 같지만 이 두 모델은 완전히 다르다. 대리 모델은 주로 실제 대상을 숨기고 구체적인 조작 세부 사항을 알리지 않는 데 사용되고 중개자 모델은 주로 사용자가 여러 대상이 많고 복잡한 상호작용을 하기 때문에 이런 상호작용을 간소화하기 위해 종결자 모델이 생겼다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.