定义
装饰者模式(Decorator):属于结构型模式,可以将新功能动态地附加到对象上,在功能扩展方面,比继承更有弹性。
代码实战
1 | interface Phone { |
类图
特点
装饰者模式中,装饰对象和被装饰的对象继承自同一个接口,并且持有一个被装饰的对象。当需要实现接口中的抽象方法时,可以直接调用被装饰对象的该方法,而且可以对该接口进行扩展,从而新增或修改功能。
总结
装饰者模式的精髓在于将继承关系转换为聚合关系,原有的方法可以通过成员变量调用,还可以扩展一些函数实现额外的功能,降低了类之间的耦合性,这种设计模式需要小伙伴们牢记。