package Proxy;
//抽象主题类:
public interface Subject {
public void doSomething();
}
package Proxy;
//具体主题类
public class RealSubject implements Subject{
@Override
public void doSomething() {
System.out.println("业务逻辑...");
}
}
package Proxy;
//代理主题类
public class Proxy implements Subject{
private Subject sub = null;
@Override
public void doSomething() {
this.sub.doSomething();
}
public Proxy(Subject sub){
this.sub = sub;
}
}
package Proxy;
//客户端
public class Client {
public static void main(String[] args) {
Subject realsub = new RealSubject();
Subject proxy = new Proxy(realsub);
proxy.doSomething();
}
}
package GeneralProxy;
public interface Subject {
public void doSomething();
}
package GeneralProxy;
public class RealSubject implements Subject{
private String name = null;
@Override
public void doSomething() {
System.out.println(this.name + "被代理,正在执行业务逻辑...");
}
public RealSubject(Subject proxy,String name) throws Exception{
if(proxy == null){
throw new Exception("无法创建被代理对象");
}else{
this.name = name;
}
}
}
package GeneralProxy;
public class Proxy implements Subject{
private Subject realsub = null;
public Proxy(String name) {
try {
realsub = new RealSubject(this, name);
} catch (Exception e) {
e.printStackTrace();
}
}
public void doSomething() {
realsub.doSomething();
}
}
package GeneralProxy;
public class Client {
public static void main(String[] args) {
//普通代理
Subject proxy = new Proxy("张三");
proxy.doSomethaing();
}
}
package MustProxy;
public interface Subject {
public void doSomething();
public Subject getProxy();
}
package MustProxy;
public class RealSubject implements Subject{
private String name = null;
private Subject proxy = null;
@Override
public void doSomething() {
if(isProxy()){
System.out.println(this.name + "被代理,正在执行业务逻辑...");
}else{
System.out.println("请先访问代理...");
}
}
public RealSubject(String name) {
this.name = name;
}
public Subject getProxy() {
proxy = new Proxy(this);
return this.proxy;
}
private boolean isProxy(){
if(this.proxy == null){
return false;
}else{
return true;
}
}
}
package MustProxy;
public class Proxy implements Subject{
private Subject realSub = null;
public Proxy(Subject realSub) {
this.realSub = realSub;
}
public void doSomething() {
this.realSub.doSomething();
}
public Subject getProxy() {
return this;
}
}
package MustProxy;
public class Client {
public static void main(String[] args) {
Subject realSub = new RealSubject("张三");
realSub.doSomething();
Subject proxy = realSub.getProxy();
proxy.doSomething();
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有