`
斌强-朱
  • 浏览: 51422 次
社区版块
存档分类
最新评论

设计模式之装饰模式

 
阅读更多


Component

public interface Component {
	public void doSomething();
}

ConcreteComponent

public class ConcreteComponent implements Component {

	@Override
	public void doSomething() {
		System.out.println("Function ");
	}

}
Decorator

public class Decorator implements Component {

	private Component component;
	
	public Decorator(Component component){
		this.component = component;
	}
	
	@Override
	public void doSomething() {
		this.component.doSomething();
	}
}

ConcreteDecorator1

public class ConcreteDecorator1 extends Decorator {

	public ConcreteDecorator1(Component component) {
		super(component);
	}
	
	@Override
	public void doSomething(){
		super.doSomething();
		doAnotherthing();
	}
	
	private void doAnotherthing(){
		System.out.println("Function 1");
	}

}

ConcreteDecorator2

public class ConcreteDecorator2 extends Decorator {

	public ConcreteDecorator2(Component component) {
		super(component);
	}
	
	@Override
	public void doSomething(){
		super.doSomething();
		doAnotherthing();
	}
	
	private void doAnotherthing(){
		System.out.println("Function 2");
	}

}

Client

public class Client {

	public static void main(String[] args) {
		Component component = new ConcreteComponent();
		
		Component component2 = new ConcreteDecorator1(component);
		
		Component component3 = new ConcreteDecorator2(component2);
		
		component3.doSomething();
	}

}










分享到:
评论

相关推荐

    软件设计模式之装饰模式讲解

    软件设计模式之装饰模式讲解ppt,可用于教学课件。

    JAVA设计模式之装饰模式代码

    装饰模式是一种结构型设计模式,它允许在运行时给对象添加新的行为或责任,而无需修改对象的源代码。在Java中,装饰模式通常通过继承和组合来实现,提供了比子类化更灵活的方式来扩展对象的功能。 装饰模式的核心...

    设计模式之装饰模式:以售卖咖啡为例

    在"设计模式之装饰模式:以售卖咖啡为例"的场景中,我们可以详细解析其应用。 首先,咖啡的选择过程可以看作是基础产品(Component),例如原味咖啡。客户可以选择的基础咖啡类型可能包括拿铁、卡布奇诺等,这些都...

    设计模式之装饰模式.docx

    设计模式之装饰模式 装饰模式(Decorator Pattern)是一种结构型设计模式,用于动态地给一个对象添加一些额外的职责。该模式允许在不修改原有对象的情况下,动态地改变对象的行为。 定义与结构 装饰模式由四个...

    设计模式之装饰模式 Java代码实现

    标题中的"设计模式之装饰模式 Java代码实现"意味着我们将探讨如何用Java语言来实现装饰模式。这通常包括以下几个步骤: 1. **定义组件接口**:首先,我们需要一个接口或者抽象类(Component),它定义了对象的基本...

    设计模式之装饰模式Java实现和类设计图

    标题中的“设计模式之装饰模式Java实现”指的是使用Java语言来实现装饰模式。装饰模式的核心思想是通过将对象包装在一个装饰类中,动态地给对象增加新的功能,而不是通过改变原有类的代码。这样可以保持原类的简洁性...

    设计模式之装饰者模式,内含可运行代码

    总的来说,装饰者模式是一种强大的设计模式,它提供了一种在运行时动态调整对象行为的方法,使得代码更具灵活性和可扩展性。通过理解和熟练运用装饰者模式,我们可以更好地应对软件需求的变化,提高代码的可维护性和...

    C++种设计模式 装饰模式.rar

    C++23种设计模式之 装饰模式。:当你向旧的类中添加新代码时,一般是为了添加核心职责或主要行为。而当需 要加入的仅仅是一些特定情况下才会执行的特定的功能时(简单点就是不是核心应用的功 能),就会增加类的...

    54-Spring设计模式之装饰器模式1

    Spring 设计模式之装饰器模式详解 在软件设计中,经常会遇到需要在不修改原有代码的情况下,添加新的功能或行为。这时,装饰器模式便可以发挥其作用。在 Spring 设计模式中,装饰器模式是非常重要的一种设计模式。 ...

    设计模式之美——教你写出高质量代码

    "设计模式之美——教你写出高质量代码"这个主题旨在帮助开发者更好地理解和应用设计模式,从而提升代码的质量和可维护性。设计模式不仅对面试有所帮助,也是职场发展中的必备技能,无论你使用哪种开发语言。 设计...

    设计模式之美—学习笔记

    在这个“设计模式之美”的学习笔记中,我们将探讨一些主要的设计模式,以及它们在实际开发中的应用。 首先,我们从创建型模式开始。这类模式主要用于对象的创建,如单例模式(Singleton)、工厂模式(Factory ...

    java设计模式之装饰模式

    装饰模式(Decorator Pattern)是Java设计模式中的一种结构型模式,它允许在运行时动态地向对象添加新的行为或职责,而不会破坏封装性。这种模式可以用来将多个功能组合在一起,同时保持类的可扩展性和灵活性。在...

    Java设计模式之禅

    《Java设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...

    c++-设计模式之装饰模式(Decorator)

    装饰模式(Decorator Pattern)是一种结构型设计模式,允许在不改变对象接口的情况下,动态地为对象添加额外的职责或功能。装饰模式通常用于需要扩展对象功能而又不希望使用子类化的场景。 装饰模式的组成 组件接口...

    24种设计模式以及混合设计模式

    设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。在本文中,我们将深入探讨24种设计模式,并结合混合设计模式的概念,以及它们在实际项目中的应用案例。 首先,设计...

Global site tag (gtag.js) - Google Analytics