摘要: 装饰者模式可以动态地给一个对象增加其他职责。就扩展对象功能来说,装饰者模式比生成子类更为灵活。 装饰者模式的应用场景:想透明并且动态地给对象增加新的职责的时候。给对象增加的职责,在未来存在增加或减少可能。用继承扩展功能不太现实的情况下,应该考虑用组合的方式。 装饰者模式的优点:通过组合而非继承的方式,实现了动态扩展对象的功能的能力。有效避免了使用继承的方式扩展对象功能而带来的灵活性差,子类无限制扩张的问题。充分利用了继承和组合的长处和短处,在灵活性和扩展性之间找到完美的平衡点。装饰者和被装饰者之间虽然都是同一类型,但是它们彼此是完全独立并可以各自独立任意改变的。遵守大部分GRASP原则和常用. 阅读全文
posted @ 2010-11-15 20:26 13路易的 阅读(276) 评论(0) 推荐(0) 编辑