JAVA 静态代理模式详解及实例应用
发布时间:2020-12-14 14:41:22 所属栏目:Java 来源:网络整理
导读:JAVA 静态代理模式 代理模式(Proxy): 为其他对象提供一种代理以控制对这个对象的访问。 代理模式说白了就是“真实对象”的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途。 在这实现代码之前,先讲一个简单的生活故事,我们都
JAVA 静态代理模式 代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。 代理模式说白了就是“真实对象”的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途。 在这实现代码之前,先讲一个简单的生活故事,我们都知道我们周边有很多公司有房屋买卖或租赁的业务,比如链家(LianJia),但链家本身是不存在任何实际房屋资产的,他所售卖租赁的房屋均需要房屋产权所有人(HomeMaster)提供,才得以实现公司的房源需求;同时公司要的卖房租房业务均需要公司员工(Seller)来实现,但员工要实现该方法,必须经过公司授权以及动用公司的业务资源渠道才可以完成任务。故事讲到这里,我们应该清楚这里的Seller其实就是代理模式中静态代理了,那么我们开始该模式的代码书写(这里省略了代理实现方法前后的业务逻辑): interface LianJia{//LianJia提供房屋买卖的渠道方法(公司业务) public void sellHouse(); } class HomeMaster implements LianJia{//房主需要通过链家卖房(实现公司的业务渠道) public void sellHouse(){ System.out.println("我有套房子要卖"); } } class Seller implements LianJia{//链家的业务需要Seller实现 private LianJia lj;//声明链家公司(可理解为必须证明该seller是链家的),方便调用方法 public Seller(LianJia lj){ this.lj = lj; } public void sellHouse(){ lj.sellHouse();//实际实现方式需要调用公司的业务渠道方法 } } public class ProxyMode{ public static void main(String[] args){ HomeMaster hm = new HomeMaster(); Seller s = new Seller(hm);//代理代房主实现卖房需求 s.sellHouse(); } } 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 如何在使用Hibernate删除父项时删除所有子行?
- java 8u31插件导致签名的小程序加载慢得多
- Java Map.clear()方法:从Map集合中移除所有映射关系
- xdebug跟踪/跟踪php echo,打印电话
- java – BoneCP正确使用
- How to include custom library into maven local reposito
- Java Generator for Poisson and Uniform Distributions?
- java – 实现一个非确定性有限自动机(NFA)
- java实现Excel的导入、导出
- java – 这个单例模式线程安全吗?