设计模式-结构型设计模式-4.代理模式(php)

设计模式类型

结构型设计模式

设计模式名称

代理模式

模式定义

代理模式(Proxy Pattern)属于结构型模式,代理模式为其他对象提供一种代理以控制对这个对象的访问。可以使用代理模式在原接口之前或之后增加一些额外的功能。

UML

1、抽象角色:
通过接口或抽象类声明真实角色实现的业务方法

2、真实角色:
抽象接口或抽象类的具体实现

3、代理角色:
同真实角色一样,实现了抽象的接口或抽象类定义的方法,并且持有真实角色对象的应用,调用真实角色相同的接口方法,在接口的前面,或后面实现一些附加的功能

代理分为
1、静态代理
2、动态代理
https://www.cnblogs.com/lfdingye/p/7717063.html

在这里插入图片描述

应用场景

1、当我们想对外部隐藏某个对象时,可以为其提供代理类
2、当一个对象的操作需要不同的安全等级或权限控制时,我们可以为其提供代理类,在代理类中实现权限及安全控制。
3、当需要对一个对象原有功能进行简单的功能扩展时,可以使用代理模式

优缺点

优点

1、职责清晰
2、扩展性高

缺点

1、业务复杂的场景增加代理模式将会增加系统的复杂性,也可能将请求的速度拖慢

git地址

https://github.com/wonlon/Design-patterns

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值