設計模式之中介者模式
Java深入到一定程度,就不可避免的碰到設計模式這一概念,了解設計模式,將使自己對java中的接口或抽象類應用有更深的理解.設計模式在java的 中型系統中應用廣泛,遵循一定的編程模式,才能使自己的代碼便于理解,易于交流,Mediator(中介者模式)模式是比較常用的一個模式.
例子如下:
業務類的接口:
public interface Colleague {
void action();
}
業務類的2個實現類:void action();
}
public class ColleagueA implements Colleague{
@Override
public void action() {
System.out.println("普通員工努力工作aaaaaaa");
}
}
@Override
public void action() {
System.out.println("普通員工努力工作aaaaaaa");
}
}
public class ColleagueB implements Colleague{
@Override
public void action() {
System.out.println("前臺注意了bbbb");
}
}
中介者接口:@Override
public void action() {
System.out.println("前臺注意了bbbb");
}
}
public interface Mediator {
void notice(String content);
}
void notice(String content);
}
public class ConcreteMediator implements Mediator{
private ColleagueA ca;
private ColleagueB cb;
public ConcreteMediator() {
ca = new ColleagueA();
cb = new ColleagueB();
}
public void notice(String content) {
if (content.equals("boss")) {
//老板來了, 通知員工A
ca.action();
}
if (content.equals("client")) {
//客戶來了, 通知前臺B
cb.action();
}
}
}
測試類:
public class Test {
public static void main(String[] args) {
Mediator med = new ConcreteMediator();
//老板來了
med.notice("boss");
//客戶來了
med.notice("client");
}
}
當客戶端傳過來的字符串不一樣時,中介者類根據字符串實現不同的業務類的對象,處理數據。
public static void main(String[] args) {
Mediator med = new ConcreteMediator();
//老板來了
med.notice("boss");
//客戶來了
med.notice("client");
}
}