Design Patterns 结构模式 之 Decorator
Decorator模式是对目标类的封装,我们并不去直接实用目标类,而是对目标类进行封装,在真正使用目标类的方法之前或之后进行一些其他方面的处理,就像给目标增加了一些装饰一样,所以称为Decorator模式。
首先定义一个接口:
public interface Work {
doSomething ();
}
实现类:
public Class ConcreteWork implements Work {
public vodoSomething () {
// do something
}
}
Decorator类
public Class DecoratorWork implements Work {
private Work work;
public DecoratorWork (Work work) {
this.work = work;
}
public void doSomething () {
doWork();
}
private void doWork() {
System.out.println("do orther work before");
work.doSomething;
System.out.println("do orther work after");
}
}
在实际需要使用ConcreteWork类doSomething()方法的功能时,不直接使用ConcreteWork 对象,而是使用new DecoratorWork().doSomething ()来实现具体的功能。
分享到:
相关推荐
装饰器模式(Decorator)可以在运行时动态地给对象添加新的行为或责任;桥接模式(Bridge)将抽象部分与实现部分分离,使它们可以独立变化。 行为型模式则关注对象之间的交互和职责分配。策略模式(Strategy)让...
标题中的"DesignPatterns.pdf_objects_designpatterns_"暗示了这可能是一个关于面向对象设计模式的PDF文档,而描述中的"Design patterns elements of reusable objects"进一步确认了这一点。设计模式的核心理念在于...
- 装饰器模式(Decorator):动态给一个对象添加一些额外的职责,就增加功能来说,装饰器模式比生成子类更为灵活。 - 代理模式(Proxy):为其他对象提供一种代理以控制这个对象的访问。 - 外观模式(Facade):...
《J2EE Core Design Patterns》是一本专注于Java企业级应用开发中的核心设计模式的重要书籍。设计模式是软件工程中经过实践验证的、解决特定问题的模板,尤其在复杂如J2EE(Java 2 Platform, Enterprise Edition)...
这个"DesignPatterns.zip"压缩包文件包含了一份英文版的设计模式资料,可能是由设计模式领域的四位知名专家——Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides,也就是常说的“四人组”所著的《设计模式...
结构型模式涉及如何组合现有对象来形成新的结构或功能,例如适配器模式(Adapter)用于使不兼容的接口能够协同工作,装饰者模式(Decorator)允许动态地给对象添加新功能,而代理模式(Proxy)则提供了一种对对象...
We've tried hard to avoid both of these categories with Design Patterns Explained Simply. This book is fast and simple way to get the idea behind each of the 29 popular design patterns. The book is ...
设计模式是软件工程领域中的重要概念,源自于1994年由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位杰出的软件工程师合著的经典书籍《设计模式:可复用面向对象软件的基础》(Design Patterns: ...
《Head First Design Patterns》是一本在软件开发领域广受好评的设计模式入门书籍。本书由Kathy Sierra与Bert Bates共同编写,采用了一种独特而富有创意的教学方法,使得复杂的概念变得容易理解。书中通过丰富的插图...
After reading this book, you will be able to convincingly leverage these design patterns (factory pattern, builder pattern, prototype pattern, adapter pattern, facade pattern, decorator pattern, ...
《Professional Java EE Design Patterns》是一本专注于Java EE领域设计模式的专业书籍。设计模式是一种设计技巧,用以解决在软件开发中经常遇到的问题。Java EE(Java Platform, Enterprise Edition)是为开发企业...
结构型模式关注如何组合现有的类和对象以形成更复杂的结构,例如适配器模式(Adapter)用于将不同接口的对象进行协同工作,装饰器模式(Decorator)允许动态地给对象添加新的功能。行为型模式则关注对象间的职责分配...
《Java 企业设计模式》(Java Enterprise Design Patterns) 是一本深入探讨如何在Java环境中应用设计模式的著作。这本书的核心目标是提高软件开发的效率、可维护性和可扩展性,通过介绍一系列已被广泛验证的设计模式...
例如,适配器模式(Adapter)用于将不兼容接口的对象连接在一起,装饰器模式(Decorator)允许动态地给对象添加新的行为,代理模式(Proxy)用于在访问对象时提供额外的功能,桥接模式(Bridge)将抽象部分与实现...
Learn how to implement design patterns in Java: each pattern in Java Design Patterns is a complete implementation and the output is generated using Eclipse, making the code accessible to all....
**设计模式**(Design Patterns)是软件工程中的一个重要概念,它是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。本章节将从多个角度对设计模式进行深入探讨。 #### 二、设计模式的基本定义 ...
《Head First Design Patterns》是一本深入浅出介绍设计模式的图书,由Eric Freeman、Elisabeth Freeman、Bert Bates和Kathy Sierra联合编写。本书结合认知科学原理和神经生物学研究,采用引导式教学方法,通过故事...
以上只是部分设计模式的简介,HeadFirst Design Patterns一书通过C#代码例子深入探讨了更多模式,如适配器模式、代理模式、桥接模式、组合模式、享元模式、命令模式、责任链模式、解释器模式、迭代器模式、备忘录...
本书“Scala Design Patterns”结合了理论与实践,通过一系列的示例代码,帮助开发者理解和应用设计模式。这些源码是书中讲解内容的具体实现,旨在帮助读者深入理解每个模式的工作原理。 1. 工厂模式(Factory ...
装饰器模式(Decorator)允许在运行时动态地给对象添加新功能,而不改变其原有结构;代理模式(Proxy)提供一个代理以控制对原对象的访问。 行为型模式关注对象之间的职责分配和交互,如观察者模式(Observer)、...