`

结构模式之装饰器模式

阅读更多
package com.eric.design.decorator;
//单向适配器模式就是在主模块上接入另外一个模块,用继承法
//装饰器模式特点:主模块注入到扩展模块中
interface IRead{
	public void read();
}
class ReadStrFromFile implements IRead{//主模块
	public void read(){
		System.out.println("ReadStrFromFile.read()");
	}
}

class ReadStrFromNet implements IRead{//主模块
	public void read(){
		System.out.println("ReadStrFromNet.read()");
	}
}

class Convert{//扩展模块
	private IRead iRead;
	public void setIRead(IRead iRead){
		this.iRead = iRead;
	}
	public void convert(){
		iRead.read();
	}
}

public class Decorator {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Convert convert = new Convert();
		//convert.setIRead(new ReadStrFromFile());
		convert.setIRead(new ReadStrFromNet());
		convert.convert();
	}

}

分享到:
评论

相关推荐

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

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

    c++设计模式-结构型模式-装饰器模式

    c++设计模式-结构型模式-装饰器模式;QT工程;c++简单源码; 装饰器(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。

    设计模式-装饰器模式

    装饰器模式是一种结构型设计模式,它允许在不修改对象本身的情况下动态地为对象添加新的行为或职责。这种模式在软件工程中广泛应用,特别是在需要扩展已有功能而不影响原有代码结构时。在iOS开发中,装饰器模式同样...

    23设计模式之装饰器模式-前端篇.pptx

    在前端开发中,装饰器模式常用于实现AOP(面向切面编程),比如日志记录、性能监控、权限控制等功能。通过定义装饰器函数,可以在不侵入原代码逻辑的情况下,控制代码的执行流程。例如,可以创建一个`logDecorator`...

    JAVA设计模式学习12——装饰器模式

    装饰器模式是面向对象设计模式的一种,主要用于在不改变原有对象结构的情况下,动态地为对象增加新的功能。这种模式在Java中尤其常见,因为它允许我们遵循“开闭原则”——对扩展开放,对修改关闭。 装饰器模式的...

    [结构型模式] 装饰者模式的理解

    装饰者模式是设计模式中的一种结构型模式,它在不改变原有对象的基础上,动态地给对象添加新的行为或属性,以此来扩展对象的功能。这种模式遵循开闭原则,即对扩展开放,对修改关闭,是一种非常实用的设计策略。 ...

    设计模式之装饰模式

    4. 具体装饰器(Concrete Decorator):实现了装饰器接口,并且持有具体组件的实例。它可以添加新的属性或行为,并调用具体组件的方法来实现装饰功能。 在C#代码示例中,我们可以创建一个`IComponent`接口,表示...

    Java设计模式之装饰器模式.docx

    【Java设计模式之装饰器模式】装饰器模式是一种结构型设计模式,它的主要目的是在不修改已有对象的前提下,通过添加额外的职责来扩展对象的功能。这种模式遵循单一职责原则,使得扩展职责时不会破坏原有对象的结构。...

    [结构型模式] head first 设计模式之装饰者模式(decorator)

    装饰者模式(Decorator Pattern)是结构型设计模式之一,它允许在运行时向对象添加新的行为或职责,而无需修改对象的源代码。这个模式的名字来源于装饰艺术,它通过添加额外的装饰来增强一个物体的外观,同样地,...

    易语言对象模式之一装饰器模式,不修改程序结构下而添加新的功能

    装饰器模式是面向对象设计中的一种经典模式,它在不改变原有对象的基础上,通过包裹(wrapping)对象来扩展其功能。这种模式的核心思想是分离装饰功能与对象本身,使得对象的功能可以被灵活地增强,同时保持代码的...

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

    在"JAVA设计模式之装饰模式代码"的示例中,我们可能会看到以下类结构: - `Component`:定义了装饰模式的基本接口,例如`Coffee`接口,包含了一些基本行为如`prepare()`。 - `Coffee`:实现了`Component`接口,代表...

    结构型模式之装饰模式(Decorator)

    3. **可扩展性**:通过添加新的装饰器,可以轻松地扩展对象的功能,而不会破坏已有的代码结构。 装饰模式的适用场景: 1. 当需要为对象添加多个独立的功能时,而不是一次性在类中定义所有可能的功能。 2. 当需要...

    装饰器(Decorator)模式

    在《Element of Reusable Object-Oriented Software》中,GOF 对装饰器模式的用意进行了概述:Decorator Pattern――Attaches additional responsibilities to an object dynamically. Decorators provide a ...

    开发模式之装饰模式

    ### 开发模式之装饰模式详解 #### 装饰模式定义 装饰模式(Decorator Pattern)是一种结构型设计模式,允许向对象动态地添加新的功能,而无需修改其原有结构。这种模式通过创建一个新的包装类来包裹真实的对象,...

    PHP设计模式(八)装饰器模式Decorator实例详解【结构型】

    装饰器模式(Decorator Pattern)是一种结构型设计模式,主要用于在运行时动态地给对象添加新的职责或行为,而不必改变现有对象的类定义。在面向对象编程中,装饰器模式提供了一种相对于继承更加灵活的方式来增强或...

    java常用设计模式-装饰器模式

    装饰器模式(Decorator Pattern)是一种结构性设计模式,它允许您在不影响同一类的其他对象的行为的情况下,静态或动态地向单个对象添加行为。该模式非常有用,当您想要在运行时添加或删除对象的功能时,或者当您想...

    Python 程序语言设计模式思路-结构型模式:装饰器讲解及利用Python装饰器模式实现高效日志记录和性能测试

    装饰器模式(Decorator Pattern)是结构型设计模式之一,用于动态地向对象添加额外的职责,而不影响其他对象。这种模式通过使用装饰器函数,允许你在保持原始功能的基础上,灵活地扩展代码的行为。

    PHP设计模式之装饰器模式定义与用法详解

    装饰器模式是23种经典设计模式中的一种结构型模式,它允许动态地给一个对象添加额外的职责,就像给一个礼物进行包装一样,可以在不改变其自身的情况下,为其增加新的功能或行为。 在PHP中,装饰器模式的实现通常...

Global site tag (gtag.js) - Google Analytics