JAVA设计形式:装饰器(Decorator)
JAVA设计模式:装饰器(Decorator)
装饰器:动态地给一个对象添加一些额外的职责。
举个常见的例子,咖啡店主要的任务是提供咖啡,但为了迎合客户的口味,我们可以在提供咖啡时加点糖或其它的调味品,在这里咖啡是被装饰的对象,咖啡店扮演了装饰器的角色,而那些糖呀什么的调味品就是装饰的内容。
正如上面提到的咖啡店的例子,装饰器模式强调装饰器本身不能破坏被装饰者所提供的服务。这里可以理解为两层含义:一是被装饰者的服务必须被暴露出来,二是装饰器本身不能修改被装饰者所提供服务的内容。也就是说咖啡店只能提供咖啡,不管你加了什么,但必须是咖啡,不能是茶或别的什么东西。
阅读全文