设计模式之装饰模式的学习
1:装饰模式的类图分析
* 写代码
*/
void doCoding();
}
* 编码
*/
public void doCoding(){
System.out.println("代码工人 在编写代码,加班编啊编啊,终于编完了!");
}
}
public Manager(Project project) {
this.project = project;
}
/**
* 编码
*/
public void doCoding() {
//项目经理开始新的工作
startNewWork();
}
/**
* 模板:定义项目经理自己的事情
*/
public void startNewWork() {
//项目经理在做早期工作
doEarlyWork();
//项目经理很牛,做完需求和设计后,直接将编码委派给代码工人干
project.doCoding();
//项目经理在做收尾工作
doEndWork();
}
/**
* 项目经理自己的事情:做早期工作
*/
public void doEarlyWork() {
}
/**
* 项目经理做收尾工作
*/
public void doEndWork() {
}
}
super(project);
}
/**
* 项目经理自己的事情:做早期工作
*/
public void doEarlyWork() {
System.out.println("项目经理A 在做需求分析");
System.out.println("项目经理A 在做架构设计");
System.out.println("项目经理A 在做详细设计");
}
}
super(project);
}
/**
* 项目经理自己的事情:做早期工作
*/
public void doEarlyWork() {
System.out.println("项目经理B 在做需求分析");
System.out.println("项目经理B 在做详细设计");
}
/**
* 项目经理做收尾工作
*/
public void doEndWork() {
System.out.println("项目经理B 在做收尾工作");
}
}
Project employe = new Employe(); //代码工人
Project managerA = new ManagerA(employe); //项目经理
Project managerB = new ManagerB(employe); //项目经理
//以经理的名义将编码完成,功劳都是经理的,实际编码的是工人
managerA.doCoding();
managerB.doCoding();
}
}
项目经理A 在做架构设计
项目经理A 在做详细设计
代码工人 在编写代码,加班编啊编啊,终于编完了!
项目经理B 在做需求分析
项目经理B 在做详细设计
代码工人 在编写代码,加班编啊编啊,终于编完了!
项目经理B 在做收尾工作
Process finished with exit code 0
备注:转自 http://lavasoft.blog.51cto.com/62575/90853/
转载于:https://www.cnblogs.com/goldberg/p/5439195.html
设计模式之装饰模式的学习相关推荐
- java设计模式之装饰模式_Java中的装饰器设计模式
java设计模式之装饰模式 装饰器设计模式允许在运行时将附加职责或行为动态附加到对象. 它是一种结构模式,利用聚合来组合这些行为. 在本教程中,我们将学习实现装饰器模式. UML图: 让我们从装饰器模 ...
- 设计模式之装饰模式20170726
结构型设计模式之装饰模式: 一.含义 动态地给一个对象添加一些额外的职责.就增加功能来说,装饰模式相比生成子类更为灵活. 通俗来讲,装饰模式是对类的功能进行加强或减弱. 二.代码说明 1.主要有两个角 ...
- 设计模式-工厂模式(学习)
设计模式-工厂模式(学习) 在程序的世界里,就像射雕英雄传一样,我们的技能就像是武功一样,我们只有不断去学习练习才能有机会像郭靖一样成为"天下第一". 我认为技能和武功是很类似的, ...
- [转自左潇龙的博客]设计模式大杂烩(24种设计模式的总结以及学习设计模式的几点建议)...
原文地址: https://www.cnblogs.com/zuoxiaolong/p/pattern26.html 作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本 ...
- 大话设计模式之装饰模式(python实现)
大话设计模式之装饰模式 使用场景 定义 装饰模式结构图 python实现装饰模式 代码结构图 优点 使用场景 建造过程不稳定,不确定.把所需的功能按照正确的顺序串联起来进行控制. 新加入的东西仅仅是为 ...
- 设计模式之装饰模式详解(附应用举例实现)
文章目录 1 装饰模式介绍 2 装饰模式详解 2.1 装饰模式结构 2.2 装饰模式实现 2.3 装饰模式应用举例 3 透明装饰模式和半透明装饰模式 1 装饰模式介绍 在生活中,我们往往会给图片增加一 ...
- 《设计模式》王争 学习笔记
<设计模式>王争 学习笔记 面向对象 面向对象 用面向对象编程语言,我们照样可以进行面向对象编程
- 设计模式之 装饰模式
设计模式之 装饰模式 概述: 装饰模式(Decorator Pattern) 又叫装饰者模式:装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也 ...
- 设计模式大杂烩(24种设计模式的总结及学习设计模式的几点建议)
设计模式大杂烩(24种设计模式的总结及学习设计模式的几点建议)模式分类 & 传送门 & 对比维度说明 设计原则: 设计模式(总纲) 创建型: 单例模式 简单工厂模式 工厂方法模式 抽象 ...
最新文章
- SAP MM 关于采购组设计的思考
- 54 分布式任务队列Celery
- leetcode 530. 二叉搜索树的最小绝对差(中序遍历)
- flowable 图片缓存
- 电脑长截图软件_电脑屏幕长截图+WORD文档里没有插入PDF文件选项时怎么办? 简单一招轻松完成...
- oracle ado6,c# ado 连接数据库 六步曲
- python输入数字是什么类型的游戏_“数字炸弹”——一个练习Python基础知识的小游戏...
- 推荐一个滴滴开源的跨端整体解决方案!
- 字符串通配符(动态规划)
- 计组第六章 计算机的运算方法
- jedate时间插件
- 【数据结构】—— 树状数组
- 服务器数据恢复成功案例(磁盘阵列恢复)
- mysql perl教程_使用 Perl 的 MySQL 事务
- 微信公众号开发之使用eclipse创建微信web工程并发布到BAE测试
- 台湾华夏堂古代玉器收藏家~件件珍贵难得一见
- 磁力链接方式下载完全攻略
- stm8程序无法写入c语言,[转载]STM8 PWM例程
- ”从生命起源到智慧宇宙“全文(英文论文)
- 添加购物车及展示购物车列表,修改购物车数量
热门文章
- mvc:interceptor 不起作用的一个解决方法
- git rebase(变基)—— Git 学习笔记 19
- opencv3—— cv::putText()
- 标准化Keras:TensorFlow 2.0中的高级API指南
- 进击的Android Hook 注入术《二》
- linux日志绕接,[判断题] 绕接式保安接线排按结构分为固定式和旋转式。
- mac终端mysql的字符集_mac下修改mysql默认字符集为utf8
- #地形剖面图_高考地理笔记:经纬网、等值线、地形剖面图知识汇总
- docker内外连通ros_docker容器内的ros外设使用与远程配置
- 怎么安装python3.6.2_centos7.2下安装python3.6.2