我试图了解装饰器和单例模式之间的区别。例如,在 Ruby 中,如果我想实现单例模式,我可以使用单例类。但是当我在 Wikipedia 中读到装饰器模式时,我觉得在这种情况下我也会使用单例类。
问问题
659 次
2 回答
3
单例模式确保在任何给定时间仅存在一个类的一个实例(或有限数量的实例)。另一方面,装饰器模式是一种通过改变对象的“皮肤”来动态地向对象添加功能(职责)的机制。Singleton 是一种创建模式,而 Decorator 是一种结构模式。
他们两个之间真的没有太多共同点,你的困惑的根源是什么?在使用 Ruby 的 Singleton 模块之前,请稍等片刻,最好直接阅读原书并了解基本概念,然后再考虑实现细节。
于 2013-01-27T03:06:10.040 回答
0
装饰器是一个对象包装器,其目的是增强主题对象的行为。这个想法是装饰器对象可以用作包装对象的替代品(必须尊重协议)。
于 2013-01-27T03:25:49.970 回答