Java设计模式:半透明装饰模式
通常的装饰模式是透明装饰模式。本文写一个半透明装饰模式。
/*** 一个通用的抽象批条模型。* * @author zhangfly**/
public interface Document {void display();
}
/*** 请假条。* 后续需要为其增加审批功能。* * @author zhangfly**/
public class LeaveRequest implements Document{@Overridepublic void display() {System.out.println("LeaveRequest display");}
}
/*** 采购单。* 后续需要为其增加审批功能。* @author zhangfly**/
public class PurchaseRequest implements Document {@Overridepublic void display() {System.out.println("PurchaseReques display");}
}
/*** 抽象装饰类。* * @author zhangfly**/
public class Decorator implements Document {private Document document;public Decorator(Document document) {this.document = document;}@Overridepublic void display() {document.display();}
}
public class Approver extends Decorator {public Approver(Document document) {super(document);System.out.println("增加审批功能");}public void approve() {System.out.println("审批");}
}
public class Test {public Test() {Document document1 = new PurchaseRequest();Approver approver1 = new Approver(document1);approver1.display();Document document2 = new LeaveRequest();Approver approver2 = new Approver(document2);approver2.display();}public static void main(String[] args) {new Test();}
}
Java设计模式:半透明装饰模式相关推荐
- java设计模式之装饰模式_Java中的装饰器设计模式
java设计模式之装饰模式 装饰器设计模式允许在运行时将附加职责或行为动态附加到对象. 它是一种结构模式,利用聚合来组合这些行为. 在本教程中,我们将学习实现装饰器模式. UML图: 让我们从装饰器模 ...
- Java设计模式之装饰模式(透明装饰模式,半透明装饰模式)
一.概述 动态地给一个对象增加一些额外的职责(方法).就扩展功能而言,装饰者模式提供了一种比使用子类更加灵活的替代方案. 装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态增加职 ...
- JAVA设计模式之装饰模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述装饰(Decorator)模式的: 装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替 ...
- 【Java设计模式】装饰模式
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 装饰模式就是为一个对象增添新的功能,在对象的基础上修饰.本文实现的功能是,对象a有方法show输出&q ...
- 装饰模式——初学JAVA设计模式
文章目录 一.基本概念 模式角色 二.简单实例 实例一.变形金刚 类图 代码实现 结果截图 实例二.喜羊羊与灰太狼 类图 方式一:半透明模式 代码实现 结果截图 方式二:半透明模式+透明模式 代码实现 ...
- Java设计模式(7)装饰模式(Decorator模式)
Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee.这 ...
- 【Java设计模式】简单学装饰模式——来杯咖啡,先糖后奶
目录 说明 目标 实现方式 应用场景 其他链接 说明 结构型模式之一,其他还有适配器模式.桥接模式.组合模式.外观模式.享元模式.代理模式 装饰者模式(Decorator Pattern)的精髓在于动 ...
- Java私塾:研磨设计模式 之 装饰模式(Decorator)3
22.3 模式讲解 22.3.1 认识装饰模式 (1)模式功能 装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象增加功能,相当于是改变了对象的外观.当装饰过后,从外部使用系统的角度看 ...
- java设计模式学习笔记之装饰模式
java设计模式学习笔记之装饰模式 尊重原创,转载请注明出处,原文地址: http://blog.csdn.net/qq137722697 这是一个使用策略模式和构建模式设计的网络请求框架,去看看吧& ...
最新文章
- 多线程初探:三种方式创建多线程详细示例
- golang中的strings.SplitAfterN
- SpringBoot @Valid各种注解使用说明
- osqa java_从LSM-Tree、COLA-Tree谈到StackOverflow、OSQA(召唤前端)
- Price merge是通过org change的callback来trigger的
- python 爬虫爬取小说信息
- ANSYS——初学路径之路径的定义、作用以及ansys路径模块GUI的操作解释
- BZOJ1251 序列终结者
- PowerDesigner逆向工程,从数据库导出PDM(包括采坑记录)
- pep3评估报告解读_首次公布!PISA全球胜任能力评估报告出炉,有何新启示?
- 接口测试很难吗?教你用Postman实用代码实现时间戳加密
- win10关闭计算机休眠,小编教您win10怎么关闭休眠 win10关闭系统休眠方法
- 无线路由器密码破解最新教程完整版
- 【C语言】输出华氏-摄氏温度转换表
- 文件夹恶意软件WORM_AUTORUN.FIU处理
- 服务器数据抓包(原来微信图片真的可以抓包看的)
- Android Studio代码边界线的设置
- 27岁,30岁,37岁...... 你是否已经把世界拱手让人?
- 微信动态二维码管理引流源码/微信活码/自动换群/微信朋友圈加群二维码
- 【TypeScript】TS与Vue