最近,在下的头头,决意要提高产品的可维护性,对重构方面几经讨论后,根据实际场景,最终决定并实际应用了模板模式,策略模式,简单工厂模式,桥模式及装饰者模式.尽管此前没有刻意学过这方面的内容,但前几个设计模式经常能用到或者接触到.所以不费任何力气,一点就通了. 唯一一个装饰者模式,让我纳闷了一会.
装饰者模式据文档上介绍,是用来动态给对象添加功能...
好了,先前的开发中,对象的功能扩展方面:有的是通过简单的组合来实现,或者就通过派生来拓展..现在来了个叫装饰者的家伙,说可以提供第三种方案. 刚看语法的时候,似乎有些不解,可经过一段时间的琢磨,发现其实这个思路很好,而且在现实生活中经常出现。
人(Commponent)<-戏子(ConcreteComponent)
人(Commponent)<-角色(Decorator)<-侠客(DecoratorA)
人(Commponent)<-角色(Decorator)<-毛贼(DecoratorB)
我们需要看戏子哪方面的艺术演绎时,只需要让他去穿上相关的衣服带上道具去演就好了。不管是毛贼还是侠客都是戏子演的,同时他们也都不外乎人的七情六欲,因此都需要继承于人.