代理模式:故名思议就是通过其他的对象来代替本身做些事情,比如:买房子的整个过程
1:生成房子的要销售房子,但是会通过 中介公司 销售 他们的房子给客户
其中 中介公司就相当于代理了 该房子的 销售权利,该权利必须 是两方所共有的,而实现不同;所以是接口中的一个方法
就是代理对象和实际对象公用一个接口,而代理必须持有对实际对象的引用
如下:
package com.porxy;
public interface Sell {
public void sellHouse();
}
生成商的如下:
package com.porxy;
public class HouseFactory implements Sell {
public void sellHouse() {
System.out.println("房子生产商被调用了");
}
}
代理商如下:
package com.porxy;
public class SellProxy implements Sell {
// 这个对象可以用ioc来注入
private HouseFactory houseFactory;
// 代理的实体类对象实例化
public SellProxy(HouseFactory houseFactory) {
this.houseFactory = houseFactory;
}
public void sellHouse() {
System.out.println("代理销售房子前作的事情");
houseFactory.sellHouse();
System.out.println("代理销售房子的后作的事情");
}
}
通过代理可以再买房子前后作一些相关的事情,这也就是AOP的大概思路。
测试如下:
package com.porxy;
public class TestProxy {
public static void main(String[] args) {
Sell sell1 = new SellProxy(new HouseFactory());
sell1.sellHouse();
}
}
结果:
结果如下:
代理销售房子前作的事情
房子生产商被调用了
代理销售房子的后作的事情
从中可以看到静态代理的对象时固定的,每一个代理就要写个接口,那样的话
在实际的过程是不可能的所以我们需要的是动态的代理
分享到:
相关推荐
Java中的代理模式--静态代理和动态代理 Java中的代理模式--静态代理和动态代理
动态代理的代码例子 里面敲好了注释 搭配文章观看更好
自己编写的代理设计模式,示例中的代码绝对没有使用伪代码,是开发的项目真实案例,简单易懂
- 代理模式 - 静态代理与动态代理 - 常见的动态代理实现 - JDK Proxy - CGLIB - JDK Proxy 和 CGLIB 的对比 - 动态代理的实际应用 - Spring AOP 说在前面:今天我们来聊一聊 Java 中的代理,先来聊聊故事...
Java编程模式-代理模式。介绍了静态代理模式和动态代理模式
│ 北京动力节点SSH前言-007-代理模式-静态代理与动态代理.mp4 │ 北京动力节点SSH前言-008-代理模式-静态代理测试环境的搭建.mp4 │ 北京动力节点SSH前言-009-代理模式-解决快捷键冲突问题.mp4 │ 北京动力节点SSH...
NULL 博文链接:https://skyuck.iteye.com/blog/524561
设计模式之代理模式_静态代理的一个java实现的demo。主类在Client中。仅代码实现,可供初学者参考使用
Java设计模式——代理设计模式(静态代理和动态代理) 各种情况例子源码
Java各种代理模式以及AOP的实现代码 : 1.AspectJ - 静态代理 2. 动态代理 (1)JDK动态代理 (2)CGlib代理
Java 代理模式: 详见:http://blog.csdn.net/q610098308/article/details/74144046
//代理模式内部引用了真实角色 public void requst() { this.preRequest(); //在真实角色操作之前所附加的操作 if(null == realsubject) { realsubject = new ReallSubject(); } realsubject.requst(); // ...
NULL 博文链接:https://871656094.iteye.com/blog/2355335
Java多线程 基础学习笔记 / 学习静态代理模式-附件资源
java 代理模式实现代码及设计详解:动态代理模式、静态代理模式
NULL 博文链接:https://coolszy.iteye.com/blog/523105
静态代理模式静态代理模式
静态代理总结: 优点:可以做到在符合开闭原则的情况下对目标对象进行功能扩展。 缺点:我们得为每一个服务都得创建代理类,工作量太大,不易管理。同时接口一旦发生改变,代理类也得相应修改。