摘要: 命令模式 案例 一天张三发了奖金,决定今天不做饭,到外面去吃,体验一下被服务的感觉。于是就到楼下李四的餐馆去吃饭,他看着李四拿来的菜单,上面写着: 炒菜 凉菜 回锅肉 凉拌三丝 土豆丝 酿黄瓜 。。。 。。。 然后他就让李四做了回锅肉和凉拌三丝两个菜,李四就按照他点的才去做了。李四在做菜的时候,张三 阅读全文
posted @ 2020-12-14 19:59 Phoegel 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 职责链模式 案例 张三家里有事需要请假,然后他就拿着假条找项目经理请假去了。而公司规定请假天数小于等于3天,项目经理可以审批该假条;如果员工请假天数大于3天,小于等于5天,部门经理可以审批;如果员工请假天数大于5天需要总经理可以审批,下面我们先使用简单的代码模拟这一过程: 1.首先定义了一个请假申请 阅读全文
posted @ 2020-12-10 19:53 Phoegel 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 代理模式 案例 张三在北京上班,最近有事要回老家上海。于是他想着去火车站买票,接下来就简单的模拟这一过程。 1.创建火车站的类: /** * 模拟火车站,提供购票的方法 */ public class TrainStation { public String buy(String start, St 阅读全文
posted @ 2020-12-07 20:03 Phoegel 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 享元模式 案例 张三和李四刚刚考完期中考试的语文和数学,但不是很理想。老师在课堂的讲的感觉还不是很懂,所以想找老师要答案仔细看看解题过程。接下来就用程序来模拟这一过程,假设考了语文和数学两个科目。 1.首先定义两个试卷类: 语文试卷类: /** * 语文试卷答案类 */ public class C 阅读全文
posted @ 2020-11-17 19:34 Phoegel 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 外观模式 案例 张三没事的时候就喜欢在家看电影,而且还有投影仪,把窗帘一拉,电灯一关,瞬间就有电影院的感觉。下面就用代码来模拟这一过程。 1.根据面向对象的思想,这里创建了四个类: 窗帘类: /** * 窗帘 */ public class Curtain { public void draw() 阅读全文
posted @ 2020-11-16 19:43 Phoegel 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 装饰者模式 案例 喝奶茶是平时很常见的一件事情,奶茶中有牛奶,珍珠和椰果等等很多的材料,我们可以根据自己的喜爱来进行选择。我们给店家说过我们想要的奶茶材料后,店家根据我们选择的奶茶材料除了需要进行调制以外,最重要的就是根据材料进行算账了,下面我们就来模拟这一过程。 1.各种材料:水 /** * 原料 阅读全文
posted @ 2020-11-12 20:21 Phoegel 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 组合模式 案例 我们想开发一个界面控件库,界面控件分为两大类,一类是单元控件,例如按钮、文本框等,一类是容器控件,例如面板。面板界面内可以放入单元控件和其他面板。这样最终得到一个类似窗体的样子。下面就用代码模拟这一过程。 1.首先定义一个面板类: /** * 面板内,可以添加按钮、文本框和其他的面板 阅读全文
posted @ 2020-11-10 20:55 Phoegel 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 桥接模式 案例 公司欲开发一个数据转换工具,可以将数据库中的数据转换成多种文件格式,例如txt、xml、pdf等格式,同时该工具需要支持多种不同的数据库。下面我们先通过继承的方式来完成这一目的: 1.首先定义了一个抽象类: /** * 文件父类 */ public abstract class Fi 阅读全文
posted @ 2020-11-09 20:06 Phoegel 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 适配器模式 案例 一天,张三把自己的iPhone手机玩的没电了想找充电器,但是完了带数据线。而李四有数据线,只不过是TypeC接口的,张三用不了,就不能继续愉快的玩耍了。下面我们来模拟出描述的内容: 1.首先定义了三个实体类: TyecC数据线接口类: /** * TypeC接口 */ public 阅读全文
posted @ 2020-11-05 19:26 Phoegel 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 建造者模式 案例 生活中有一个常见的例子,没有人买车会只买一个轮胎或者方向盘,大家买的都是一辆包含轮胎和方向盘等多个部件的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户呢,下面我们用程序来模拟一下这一过程。 1.首先是汽车、轮胎和方向盘三个实体类: 汽车类 /** * 汽车 */ publ 阅读全文
posted @ 2020-11-03 19:55 Phoegel 阅读(124) 评论(0) 推荐(0) 编辑