利用继承设计子类的行为,是在编译时候静态决定的,而且所有的子类都会继承到相同的行为。然而,如果利用组合的做法扩展对象的行为,就可以在运行时动态地进行扩展。
设计原则:类应该对扩展开放,对修改关闭。
装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
本文探讨了如何通过装饰者模式来实现软件功能的动态扩展,对比了继承与组合的不同之处,并强调了类的设计原则——对扩展开放,对修改关闭。
利用继承设计子类的行为,是在编译时候静态决定的,而且所有的子类都会继承到相同的行为。然而,如果利用组合的做法扩展对象的行为,就可以在运行时动态地进行扩展。
设计原则:类应该对扩展开放,对修改关闭。
装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
1580
2145
1万+
1万+

被折叠的 条评论
为什么被折叠?