代理模式与装饰模式PK
代理模式:比如你就是代理,那你就该执行你代理角色的
职能。我们可以在执行角色职能先后,可以按自己想法去做,比如dobefore,doafter。
装饰模式:不要你去代理,而是你去装饰。让你去保持类的本来职责的同时,动态增加新的变化。
装饰设计与代理设计完全不一样,可能从字面我们可以发现其实可以替换的,但意义完全不一样了。我们不是过程化,要OO思想,所以一些场景包括设计思想要考虑,不要考虑用另外一种模式也可以完成一样看起来差别不大的功能。
无错不是错,这话不正确。
为什么AOP用到代理,因为简单,作者设计意图就是用代理处理的。其它模式能处理,代理更具00思想。
为什么老大找你做代理,而不去自己加强自己技能的提高呢?为什么公司有了总裁,还需要职业经理人呢?
(装饰)自己去实现,导致职责过多,势必会影响其它类的职责,削弱或者抑制其它类的完成职责作用,当变化发生,设计遭受意想不到的破坏。
一般职责过多,在系统中频繁使用,很容易导致职责越弄越大,甚至改不动了