装饰模式和代理模式的区别

简介: 装饰模式和代理模式的区别

正文


最近在学习设计模式,学着学着,感觉装饰模式和代理模式非常的相似,于是在网上深入的学习了一下,找出了他们之间的区别。

  • 让别人做你不关心的事情:代理模式
  • 为让自己的能力增强,使得增强后的自己能够使用更多的方法,拓展在自己基础之上的功能的:装饰模式

1、装饰器模式强调的是增强自身,在被装饰之后你能够在被增强的类上使用增强后的功能。增强后你还是你,只不过能力更强了而已;代理模式强调要让别人帮你去做一些本身与你业务没有太多关系的职责(记录日志、设置缓存)。代理模式是为了实现对象的控制,因为被代理的对象往往难以直接获得或者是其内部不想暴露出来。

2、装饰模式是以对客户端透明的方式扩展对象的功能,是继承方案的一个替代方案;代理模式则是给一个对象提供一个代理对象,并由代理对象来控制对原有对象的引用;

3、装饰模式是为装饰的对象增强功能;而代理模式对代理的对象施加控制,但不对对象本身的功能进行增强;

目录
打赏
0
0
0
0
4
分享
相关文章
|
10月前
结构型 代理模式
结构型 代理模式
48 0
C# 一分钟浅谈:装饰者模式与代理模式
【10月更文挑战第12天】本文介绍了面向对象编程中的两种常见设计模式:装饰者模式和代理模式。装饰者模式允许在运行时动态地给对象添加功能,而代理模式则通过代理对象控制对另一个对象的访问。文章详细讲解了这两种模式的概念、常见问题、如何避免问题以及代码示例,帮助读者更好地理解和应用这些设计模式。
65 13
适配器模式与代理模式的区别
【8月更文挑战第22天】
298 0
|
7月前
|
对于装饰器模式与代理模式的个人理解
摘要: 代理模式与装饰器模式虽相似,但目的不同。装饰器动态增强对象功能,如添加新特性,而不改变原有类。代理模式则用于控制访问,如优化昂贵操作或添加辅助服务(如日志),它可能在内部初始化原对象。用法上,装饰器由外部决定是否应用,允许链式创建,而代理通常内部调用,外部直接与代理交互,被代理对象可能独立不可用。
设计模式-代理模式(静态代理、动态代理、cglib代理)、代理模式和装饰者模式的区别
设计模式-代理模式(静态代理、动态代理、cglib代理)、代理模式和装饰者模式的区别
114 1
【设计模式学习笔记】代理模式、装饰模式和适配器模式案例详解(C++实现)
【设计模式学习笔记】代理模式、装饰模式和适配器模式案例详解(C++实现)
363 0
【设计模式学习笔记】代理模式、装饰模式和适配器模式案例详解(C++实现)
设计模式 - 结构型模式_代理模式
代理模式有点像⽼⼤和⼩弟,也有点像分销商。主要解决的是问题是为某些资源的访问、对象的类的易⽤操作上提供⽅便使⽤的代理服务。⽽这种设计思想的模式经常会出现在我们的系统中,或者你⽤到过的组件中,它们都提供给你⼀种⾮常简单易⽤的⽅式控制原本你需要编写很多代码的进⾏使⽤
123 0
设计模式 - 结构型模式_代理模式
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等