decorator装饰模式
动态的给一个对象添加一些额外的职责
示例代码:
/**
* 工作接口
*
* @time 下午11:25:59
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public interface Work {
public void insert();
}
/**
* 插入方形桩
* @time 下午11:29:08
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class SquarePeg implements Work {
@Override
public void insert() {
System.out.println("方形桩插入");
}
}
/**
* 装饰模式
*
* @time 下午11:30:48
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
@SuppressWarnings("rawtypes")
public class Decorator implements Work {
private Work work;
private ArrayList list = new ArrayList();
/**
* 构造器
*/
@SuppressWarnings("unchecked")
public Decorator(Work work) {
this.work = work;
list.add("挖坑");
list.add("钉木板");
}
@Override
public void insert() {
newMethod();
}
public void newMethod() {
otherMethod();
work.insert();
}
// 增加额外的功能
private void otherMethod() {
ListIterator iterator = list.listIterator();
while (iterator.hasNext()) {
System.out.println(((String) iterator.next()) + "正在进行");
}
}
}
/**
* 测试装饰模式
*
* @time 下午11:40:07
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class TestDecorator {
public static void main(String[] args) {
Work squarePeg=new SquarePeg();
Work decorator=new Decorator(squarePeg);
decorator.insert();
}
}
分享到:
相关推荐
java设计模式之Builder&Decorator,java设计模式之Builder&Decorator
C#设计模式之Decorator 装饰模式,pdf+视频教学,实例演示,易学易用~~
学习java 装饰模式(decorator)非常好的例子
NULL 博文链接:https://janeky.iteye.com/blog/472502
设计模式C++学习之装饰模式(Decorator)
设计模式之Decorator(油漆工) 设计模式之Bridge 设计模式之Flyweight(享元) 行为模式: 设计模式之Template 设计模式之Memento(备忘机制) 设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之...
这是JAVA设计模式中属于结构模式的部分,包括Flyweight(共享模式)、Bridge(桥模式)、Decorator(装饰模式)、Composite(组合模式)、Adapter(适配器模式)、Proxy(代理模式)、Facade (外观模式)的源代码。其中有些模式中...
《java设计模式(第2版)》适合各个层次的java开发人员与设计人员阅读,也可以作为学习java与设计模式的参考读物或教材。 目录: 第1章 绪论 1 第2章 接口型模式介绍 8 第3章 适配器(adapter)模式 13 第4章 外观(facade...
java Decorator设计模式应用,可以简单了解它,初学者入。
装饰器模式(Decorator Pattern) 外观模式(Facade Pattern) 享元模式(Flyweight Pattern) 代理模式(Proxy Pattern) 3 行为型模式 这些设计模式特别关注对象之间的通信。 责任链模式(Chain of ...
主要介绍了Java设计模式之装饰模式(Decorator模式)介绍,本文讲解了为什么使用Decorator、如何使用装饰模式、Jive中的Decorator实现等内容,需要的朋友可以参考下
奇幻RPG(物品锻造 与 Decorator模式)本文中,我们通过一个常见的给武器(对象)添加宝石(额外的状态和行为)的例子,讨论了Decorator设计模式的实现过程。
动态地给一个对象添加一些额外的职责。就扩展功能而言,它比生成子类方式更为灵活。
Decorator ( 装饰模式 ) Facade ( 外观模式 ) Flyweight ( 享元模式 ) Proxy ( 代理模式 ) Chain of Responsibility ( 责任链模式 ) Command ( 命令模式 ) Interpreter ( 解释器模式 ) Iterator ( 迭代器模式...
主要介绍了Java设计模式编程中Decorator装饰者模式的运用,装饰者模式就是给一个对象动态的添加新的功能,装饰者和被装饰者实现同一个接口,装饰者持有被装饰者的实例,需要的朋友可以参考下
主要为大家详细介绍了java设计模式之装饰器模式Decorator,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
用Java实现23种设计模式 1. 创建型模式 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern)...
java Decorator模式的简单例子
为了更好的网络共享 本人发布的资源一律免费 如有...设计模式袖珍版之-Decorator(油漆工) 设计模式袖珍版之-Factory 设计模式袖珍版之-Mediator(中介者) 设计模式袖珍版之-Singleton(单态) 设计模式袖珍版之-Visitor
C#面向对象设计模式纵横谈(10):Decorator 装饰模式(结构型模式) (Level 300)