Java设计模式之代理模式——经纪人的工作
前言
本文主要讲述代理模式,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。
一.什么是代理模式
代理模式是23种设计模式中结构型模式的一种,它的核心是通过代理类来完成其他对象的访问,降低访问者和被访问者的耦合度,也对功能进行了增强。
二.生活中的代理模式
1.经纪人
每个艺人都拥有自己的经纪人,帮助他处理工作上的事情,例如帮艺人接活、商务谈判、宣传包装等等,如果我们想联系上哪位艺人,主要就是通过经纪人来完成,而经纪人就跟设计模式中的代理模式类似。
2.房产中介
现在很多年轻人在大城市工作都是租房住的,大家现在购买房子或者租房的话是不是通过房产中介呢,反正是通过房产中介找到房子的,而房产中介他是负责帮助房主出售或者出租房子的,通过房产中介我们就无需每个房子都需要通过联系房主来获取房源信息,大大提高了我们选房效率,而房产中介就跟设计模式中的代理模式类似。
3.婚介
现在有很多婚介公司或者各种APP来帮助大家扩展社交范围,认识更多的人,提升恋爱率和结婚率。而婚介公司或者各种交友APP就跟设计模式中的代理模式类似。
三.代理模式的实现
代理模式有两种,一种是静态代理,一种是动态代理
1.静态代理
接下来就以演员和经纪人来举例,通过静态代理来实现。先创建一个接口和被代理对象类演员类以及静态代理类经纪人类
然后创建一个客户端使用代理模式,完成通过经纪人联系演员让演员拍戏,并增强功能
2.动态代理
接下来我们以房产中介的来举例,使用动态代理来实现。先创建代理接口人类接口和被代理对象类用户类
再创建一个动态代理类房产中介类
最后动态代理实现通过房产中介增强用户寻找房子的行为
五.总结
代理模式中分为两种代理:静态代理和动态代理
静态代理的实现会导致代理类的冗余,每增加一个被代理对象就需要增加一个代理类。就像一对一的明星经纪人,每多一个明星就需要多一个经纪人。
动态代理的实现则减少了代理类的冗余,只需要一个动态代理类即可,但是会对被代理的对象每个方法都进行增强。就像房产中介,每多个客户并不需要再额外多一个中介来服务,房产中介可以一个人对多个用户,但是每个用户得到的都是同一个房产中介的服务。
下一章,将带大家学习电脑与游戏的关系(设计模式之桥接模式)
线性结构中的双向链表如何实现?
深入浅出Spring原理及实战「缓存Cache开发系列」
SQLYog使用教程(超详细)
网址:Java设计模式之代理模式——经纪人的工作 https://mxgxt.com/news/view/1472135
相关内容
大战设计模式(第二季)【7】———— 从源码看桥接模式设计模式初探
转:设计模式与篮球
经纪人团队的五种模式
娱乐明星经纪公司经营模式创新方案设计.doc
IDOL的代理模式
代理模式
经纪人团队的五种模式.docx
“艺人商务代理经纪”模式的突围与逆袭
模特经纪人是做什么的 模特经纪人工作要求