JAVA中的设计模式

来源:互联网 发布:室内设计预算软件 编辑:程序博客网 时间:2024/06/05 01:19

JAVA中的设计模式 - 代理模式

#

/** * 一个古老的接口,用来连接电源 */public interface Box {    void darkRun();}
/** * 前辈编写了一个复杂的流程来实现连接电源 * 他能够正常运行 * 但是新的设备需要新的匹配 */public class DarkBox implements Box{    @Override    public void darkRun() {        System.out.println("Dark Run : Get Power Success");    }}
/** * 你并不是特别的熟悉以前连接电源的方式 * 但是你知道如何处理新的连接 * * 你并不想重新背起以前的锅 * 所以你创建一个代理来完成你的工作 * 既不会改变原来的逻辑,也能够完成你的工作 */public class Proxy implements Box{    private DarkBox darkBox;    public Proxy(){        super();        this.darkBox = new DarkBox();    }    @Override    public void darkRun() {        USBHead();        darkBox.darkRun();        USBTail();    }    // 你在原来的基础上,在电源连接器头部转换到通用USB接口    private void USBHead(){        System.out.println("USB Connection Head!");    }    // 同样的,连接尾也切换到通用USB接口    private void USBTail(){        System.out.println("USB Connection Tail!");    }}
/** * 你设计了一个连接器来测试你的接口是否正常运行 */public class Connection {    public static void main(String[] args) {        Box box = new Proxy();        // 很好,你的代理能够正常运行        box.darkRun();    }}
USB Connection Head!Dark Run : Get Power SuccessUSB Connection Tail!
原创粉丝点击