最近在 Ruby on Rails 社区中有各种关于装饰器和演示器的讨论。
两者的本质区别是什么?如果有,有什么线索可以告诉我使用哪一个而不是另一个?或者也许将两者结合使用?
最近在 Ruby on Rails 社区中有各种关于装饰器和演示器的讨论。
两者的本质区别是什么?如果有,有什么线索可以告诉我使用哪一个而不是另一个?或者也许将两者结合使用?
装饰器更像是“让我们为这个实体添加一些功能”。演示者更像是“让我们在模型/后端和视图之间架起一座桥梁”。演示者模式有多种解释。
装饰器是通用/通用的。演示者的职责/用途范围较窄。装饰器跨域使用,演示者几乎总是与类似视图的功能相关。
我建议你检查一下 - Exhibit vs Presenter。
装饰器是一种设计模式,用于通过包装特定对象来扩展其功能,而不影响该对象的其他实例。一般来说,装饰器模式是 开/关原则的一个例子(类对修改关闭,但可用于扩展)。
展示者模式和展示者模式都是装饰者模式的一种。