设计模式-装饰者模式(问题比较大,需要重新处理)

设计原则:类应该对扩展开放,对修改关闭。在不修改现有代码的情况下,拓展,搭配新的行为。设计更加弹性应对改变,可以接受新的功能应对改变的需求。

遵循开放关闭原则会引入代码抽象层次,增加代码的复杂度。我们的注意力是在于设计中最有可能发生改变的地方,然后应用开放关闭原则。

允许类拓展,不修改现有的代码拓展新行为。

装饰者模式:

动态的将责任附加到对象上。若要扩展功能,装饰者提供比继承更有弹性的方法。

该模式中,继承是为了获取正确的类型而不是为了去继承行为。行为来自装饰者和基础组件,或装饰者之间的组合关系。相关对象的组合更加弹性和灵活。


如果依赖继承,那么类的行为只能在静态时决定,换句话说,继承中类的行为要么来自基类,要么来自超类。利用组合,可以把装饰者混合着用。

我们可以在任何时候,实现新的装饰者增加行为。而继承的方式只能去修改代码。


装饰者和被装饰者拥有相同的超类型。

装饰者可以在被装饰者行为之前或之后加上自己的行为,以达到特定的目的。


封装变化。多用组合少用继承。针对接口编程而不是针对实现编程。为交互对象之间的松耦合努力。对扩展开放,对修改关闭。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值