代理模式和装饰者模式上在语法形式上几乎完全一样,那么它们的区别在哪里呢? 装饰者模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更加灵活 代理模式:为其它对象提供一种代理以控制对这个对象的访问。 其实,它们的着重点一个在于“增加”职责,另一个在于“控制”访问。这是它们最本质的区别。 由此可以看到:学习设计模式重点在于“语义”上把握,而不是追求它的“形式。
代理模式的UML
装饰模式的UML
您还没有登录,请您登录后再发表评论
评论