DecoratorPattern

/**
 * 装饰者模式
 * @author TMAC-J
 * 总的来说,装饰者模式就是继承的应用
 */
public class DecoratorPattern {

	interface Beans{
		void doSomething();
	}

	public class MyBean implements Beans{
		@Override
		public void doSomething() {
			System.out.println("doSomething...");
		}
	}

	public class DecoratorMyBean extends MyBean{
		public void doMoreThing(){
			System.out.println("doOtherthing...");
			doSomething();
		}
	} 

}

  

时间: 2024-12-05 06:22:49

DecoratorPattern的相关文章

java/android 设计模式学习笔记(7)---装饰者模式

这篇将会介绍装饰者模式(Decorator Pattern),装饰者模式也称为包装模式(Wrapper Pattern),结构型模式之一,其使用一种对客户端透明的方式来动态的扩展对象的功能,同时它也是继承关系的一种替代方案之一,但比继承更加灵活.在现实生活中也可以看到很多装饰者模式的例子,或者可以大胆的说装饰者模式无处不在,就拿一件东西来说,可以给它披上无数层不一样的外壳,但是这件东西还是这件东西,外壳不过是用来扩展这个东西的功能而已,这就是装饰者模式,装饰者的这个角色也许各不相同但是被装饰的对

Decorator Pattern

Intent: Attach additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality. While reading the GangOfFour book on CD I noticed that the original name of this pattern was "W

设计模式之装饰模式20170726

结构型设计模式之装饰模式: 一.含义 动态地给一个对象添加一些额外的职责.就增加功能来说,装饰模式相比生成子类更为灵活. 通俗来讲,装饰模式是对类的功能进行加强或减弱. 二.代码说明 1.主要有两个角色 1)构件 最核心.最原始.最基本的对象,也就是要装饰的对象. 2)装饰角色 把最核心.最原始.最基本的东西装饰成其他东西 2.在用C实现过程中也是参考这种思想,以修饰成绩单举例,具体实现如下: 1)装饰模式使用场景: 1 /***********************************

Behavioral模式之Mediator模式

1.意图 用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互. 2.别名 无 3.动机 面向对象设计鼓励将行为分布到各个对象中.这种分布可能会导致对象间有许多连接.在最坏的情况下,每一个对象都知道其他所有对象. 4.适用性 以下情况使用Mediator模式: 一组对象以定义良好但是复杂的方式进行通信.产生的相互依赖关系结构混乱且难以理解. 一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象. 想定制一个分布

Behavioral模式之Interpreter模式

1.意图 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 2.别名 无 3.动机 如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各种实例表述为一种简单语句中的句子.这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题. 4.适用性 以下情况使用Interpreter模式: 当有一种语言需要解释执行,并且你可以将该语言中的句子表示为一个抽象语法树时,可使用解释器模型.而当存在以下情况时该模式效果最好. - 该文法简单对于

c#设计模式介绍

序号 模式名称 模式描述 应用场景 例子 1 单例模式 (SigletonPattern) 保证一个类仅有一个实例,并提供一个访问它的全局访问点. • 单例类只能有一个实例. • 单例类必须自己创建自己的唯一实例. • 单例类必须给所有其它对象提供这一实例. 1.每台计算机可以有若干个打印机,但只能有一个Printer Spooler,避免两个打印作业同时输出到打印机. 2.一个具有自动编号主键的表可以有多个用户同时使用,但数据库中只能有一个地方分配下一个主键编号.否则会出现主键重复. 2 策略

Behavioral模式State模式

1.意向 同意一个目标,然后改变其内部状态,改变它的行为. 对象似乎改变它的类别. 2.别名 状态对象(Objects for States) 3.动机 考虑一个表示网络连接的类TCPConnection.一个TCPConnection对象的状态处于若干不同状态之中的一个:连接已建立(Established).正在监听(Listenling).连接已关闭(Closed).当一个TCPConnection对象收到其它对象的请求时.它依据自身的当前状态做出不同的反应.比如,一个Open请求的结果依赖

Java设计模式——装饰者模式

JAVA 设计模式 装饰者模式 用途 装饰者模式 (Decorator) 动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator 模式相比生成子类更为灵活. 装饰者模式是一种结构式模式. 结构 图-装饰者模式结构图 Component : 定义一个对象接口,可以给这些对象动态地添加职责. interface Component {     public void operation(); } ConcreteComponent : 实现 Component 定义的接口. clas

iOS设计模式 - 装饰

原理图 说明 1. cocoa框架本身实现了装饰模式(category的方式实现了装饰模式) 2. 装饰模式指的是动态的给一个对象添加一些额外的职责,相对于继承子类来说,装饰模式更加灵活 *3. 本人仅仅实现了最简单的装饰模式,装饰器类是一个具体的类,非抽象类 源码 https://github.com/YouXianMing/DecoratorPattern // // GamePlay.h // DecoratorPattern // // Created by YouXianMing on