欢迎使用CSDN-markdown编辑器

来源:互联网 发布:指纹校准软件 编辑:程序博客网 时间:2024/06/05 20:15

内容

让每个窗口各负责一个业务,同时委任了一位访问者,负责在客户进门时,询问他要办理的业务,告诉他应该去哪个窗口办理。这样,每个窗口的业务员就只负责一项业务,减少了在不同业务之间切换的时间耗费,当某项业务的处理流程发生变更时,不需要同时麻烦三个窗口的业务员,而只需要让处理这项业务的业务员进行修改就可以了。

代码

public interface Service {    public void accept(Visitor visitor);}
public class Saving implements Service {    public void accept(Visitor visitor) {        ((Visitor) visitor).process(this);    }}
public class Fund implements Service {    public void accept(Visitor visitor) {        visitor.process(this);    }}
public class Draw implements Service{    public void accept(Visitor visitor) {        visitor.process(this);    }}
public class Visitor {    public void process(Service service) {        System.out.println("基本业务");    }    public void process(Saving service) {        // TODO Auto-generated method stub        System.out.println("存款 ");    }    public void process(Draw service) {        // TODO Auto-generated method stub        System.out.println("提款");    }    public void process(Fund service) {        // TODO Auto-generated method stub        System.out.println("基金");    }}
public class Test {    public static void main(String[] args) {        // TODO Auto-generated method stub        Service s1 = (Service) new Saving();        Service s2 = (Service) new Draw();        Service s3 = (Service) new Fund();        Visitor visitor = new Visitor();        ((Service) s1).accept(visitor);        s2.accept(visitor);        s3.accept(visitor);    }}
0 0
原创粉丝点击