前言
零基础快速上手《设计模式》点击如下传送门 秒懂—设计模式https://blog.csdn.net/weixin_56232016/article/details/136766136
“设计模式学的是思想,而不是套用模板”
概念看不懂时可以参考个人理解
*“因为最近有事比较忙,先陆陆续续把整理的一些信息发上来,后面再加上个人理解和扩展”*
代理模式
定义
将抽象部分与实现部分分离,使它们都可以独立的变化
角色:
-
Subject(抽象主题):声明真实主题和代理对象实现的业务方法
-
RealSubject(真实主题):实现了抽象主题中的具体业务,是代理对象所代表的真实对象
-
Proxy(代理角色):引用Implementor对Abstraction进行修正
-
ConcreteImplementor(具体实现化角色):提供了与真实主题相同的方法,其内部含有对真实主题的引用,它可以访问、控制或扩展真实主题的功能。
UML
使用场景
-
需要增强目标对象的功能
-
需要保护目标对象的实现细节
优缺点:
优:
-
降低耦合度,可扩展性强
-
增强目标对象的功能
-
保护目标对象的实现细节