一、UML图
二、实例
1、Subject
package com.designPattern.proxy;
/**
* Created by ZhangJintao on 2020/3/8.
*/
public interface ConnectionDb {
public void connect();
}
2、RealSubject
package com.designPattern.proxy;
/**
* Created by ZhangJintao on 2020/3/8.
*/
public class ConnectionOracle implements ConnectionDb {
@Override
public void connect() {
System.out.println("开始连接Oracle!");
}
}
3、Proxy
package com.designPattern.proxy;
/**
* Created by ZhangJintao on 2020/3/8.
*/
public class ConnectionOracleProxy implements ConnectionDb{
private ConnectionDb connectionDb = null;
public ConnectionOracleProxy(ConnectionDb connectionDb) {
this.connectionDb = connectionDb;
}
@Override
public void connect() {
this.connectionDb.connect();
}
}
4、main
package com.designPattern.proxy;
/**
* Created by ZhangJintao on 2020/3/8.
*/
public class main {
public static void main(String[] args) {
ConnectionOracleProxy connectionOracleProxy = new ConnectionOracleProxy(new ConnectionOracle());
connectionOracleProxy.connect();
}
}