設(shè)計(jì)模式之中介者模式
Java深入到一定程度,就不可避免的碰到設(shè)計(jì)模式這一概念,了解設(shè)計(jì)模式,將使自己對(duì)java中的接口或抽象類應(yīng)用有更深的理解.設(shè)計(jì)模式在java的 中型系統(tǒng)中應(yīng)用廣泛,遵循一定的編程模式,才能使自己的代碼便于理解,易于交流,Mediator(中介者模式)模式是比較常用的一個(gè)模式.
例子如下:
業(yè)務(wù)類的接口:
public interface Colleague {
void action();
}
業(yè)務(wù)類的2個(gè)實(shí)現(xiàn)類: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("前臺(tái)注意了bbbb");
}
}
中介者接口:@Override
public void action() {
System.out.println("前臺(tái)注意了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")) {
//客戶來了, 通知前臺(tái)B
cb.action();
}
}
}
測(cè)試類:
public class Test {
public static void main(String[] args) {
Mediator med = new ConcreteMediator();
//老板來了
med.notice("boss");
//客戶來了
med.notice("client");
}
}
當(dāng)客戶端傳過來的字符串不一樣時(shí),中介者類根據(jù)字符串實(shí)現(xiàn)不同的業(yè)務(wù)類的對(duì)象,處理數(shù)據(jù)。
public static void main(String[] args) {
Mediator med = new ConcreteMediator();
//老板來了
med.notice("boss");
//客戶來了
med.notice("client");
}
}
posted on 2013-05-27 17:02 楊軍威 閱讀(365) 評(píng)論(0) 編輯 收藏