首页 > 试题广场 >

如果需要在不影响其他对象的情况下,以动态,透明的方式给对象添

[单选题]
如果需要在不影响其他对象的情况下,以动态,透明的方式给对象添加职责,应该选择何种设计模式?
  • 动态代理模式
  • 适配器模式
  • 桥接模式
  • 装饰模式

装饰模式UML图(IDEA自动生成)

图片说明

大话设计模式-装饰模式

https://localhost.blog.csdn.net/article/details/88665447

大话设计模式-系列文章(共50篇):

https://blog.csdn.net/qq_41113081/category_8723350.html

发表于 2020-03-23 00:28:42 回复(0)
选D。

适配器(Adapter)模式

将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。

桥接(Bridge)模式

将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低 抽象和实现这两个可变维度的耦合度。

装饰(Decorator)模式

动态的给对象增加一些职责,即增加其额外的功能。

参考:https://www.cnblogs.com/steffen/p/11400509.html
发表于 2020-03-13 16:49:57 回复(0)
装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 以下情况使用Decorator模式 1. 需要扩展一个类的功能,或给一个类添加附加职责。 2. 需要动态的给一个对象添加功能,这些功能可以再动态的撤销。 3. 需要增加由一些基本功能的排列组合而产生的非常大量的功能,从而使继承关系变的不现实。 4. 当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。
发表于 2021-10-18 15:51:42 回复(0)
动态代理模式是一种结构型设计模式,它允许在运行时创建一个代理对象,以控制对另一个对象的访问。
编辑于 2024-04-16 21:00:28 回复(0)

适配器(Adapter)模式

将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。

桥接(Bridge)模式

将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低 抽象和实现这两个可变维度的耦合度。

装饰(Decorator)模式

动态的给对象增加一些职责,即增加其额外的功能。

发表于 2022-04-11 23:58:48 回复(0)