我遇到过的设计模式

代理模式

代理模式分为动态代理和静态代理

1.代理模式是为目标对象创建代理对象以提供一种代理机制, 让代理对象能控制目标对象的访问,组可以在不改变目标对象的情况下为目标对象添加额外的功能。

2.代理模式类图是需要定义代理接口、目标类和代理类,目标类和代理类实现代理接口,同时代理类与目标类有依赖关系。实现代理模式有两种方式:静态代理和动态代理。

3.代理模式的优点:

1)代理模式在客户对象和目标对象之间起到一个中介作用和保护目标对象的作用

2)代理对象可以扩展目标对象的功能

3)代理模式能将客户对象与目标对象分离,在一定程度上降低了系統的耦合度,增加了程序的可扩展性。

4.代理模式的缺点:

1)代理模式会造成系统设计中的类数量增加

2)在客户对象和目标对象之间增加一个代理对象,会造成请求处理速度变慢

3)在一定程度增加了系统的复杂度

5.常见代理模式的应用场景有远程代理、虚拟代理、安全代理、智能指针、延迟加载等。

适配器模式

应用场景:适配器模式可以看作一种“补偿模式”,用来补救设计上的缺陷。应用这种模式算是“无奈之举”

优点:提高了类的重用性,不对原项目做修改,只有添加,一旦出错可直接确定是适配器的问题

缺点:过多使用会导致项目结构杂乱,代码可读性降低

 

posted @ 2023-10-03 19:07  wakenight  阅读(23)  评论(0)    收藏  举报