设计模式
文章平均质量分 73
遥远征程
这个作者很懒,什么都没留下…
展开
-
《您的设计模式》(CBF4LIFE)之“策略模式”【整理】
《您的设计模式》(CBF4LI)之“策略模式”整理:以诸葛亮的锦囊妙计故事为背景,讲述设计模式中的“策略模式”。转载 2016-05-29 00:00:21 · 451 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“访问者模式”【整理】
通过访问者,访问普通员工、经理的信息。 一、单位里所有员工抽象类:package com.teng.abs;import com.teng.inter.IVisitor;/** * 单位里的员工抽象类 * 创建日期:2016年10月21日 * Copyright 2016 UTOUU All Rights Reserved * @author tengxiang * @转载 2016-10-27 13:33:46 · 331 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“责任链模式”【整理】
背景:中国古代对妇女指定了“三从四德”的道德规范,“三从”是指“未嫁从父、既嫁从夫、夫死从子”,也就是说一个女性,在没有结婚的时候要听从于父亲,结了婚后听从于丈夫,丈夫死了还要听儿子的。通过程序描述一下古代妇女的“三从”制度。父亲、丈夫、儿子每个节点有两个选择:要么承担责任,做出回复;要么把请求转发到后序环节。 三个实现类Father、Husband、Son只要实现构造函数和父类中转载 2016-10-27 13:26:54 · 356 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“组合模式”【整理】
树状结构在实际项目应用中非常广泛,人事管理就是一个典型的树状结构。今天的任务就是把树状结构实现出来,并且把它遍历一遍。有两种节点:有分支的节点(如研发部经理)和无分支的节点,总经理叫做根节点(XML中有个根节点root),类似研发部经理有分支的节点叫做树枝节点,类似员工A的无分支节点叫做树叶节点。接口的作用是什么?定义共性。抽象类中,可以有实现的方法。 抽象类:packag转载 2016-10-27 13:14:29 · 388 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“迭代器模式”【整理】
背景:将项目的信息打印出来。 一、 项目接口,及其实现类package com.teng.pattern.inter;/** * 项目接口 * 创建日期:2016年7月10日 * Copyright 2016 tengxiang All Rights Reserved * @author tengxiang * @since 1.0 * @version 1.0 */转载 2016-10-27 13:09:37 · 233 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“装饰模式”【整理】
背景:四年级期末考成绩单打印出来,要家长签字。 一、 成绩单抽象类package com.teng.pattern.abs;/** * 学校成绩单 * 创建日期:2016年7月9日 * Copyright 2016 tengxiang All Rights Reserved * @author tengxiang * @since 1.0 * @version 1.0转载 2016-10-27 11:31:21 · 364 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“命令模式”【整理】
背景:以项目组为例子讲述命令模式。 第一步,几个项目组package com.teng.pattern.abs;/** * 项目组抽象类 * 创建日期:2016年7月3日 * Copyright 2016 tengxiang All Rights Reserved * @author tengxiang * @since 1.0 * @version 1.0 */p转载 2016-10-27 11:24:11 · 323 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“桥梁模式”【整理】
背景:经营两个公司,生产产品赚钱。 第一步,产品类package com.teng.pattern.impl;/** * 产品抽象类 * 创建日期:2016年7月3日 * Copyright 2016 tengxiang All Rights Reserved * @author tengxiang * @since 1.0 * @version 1.0 */pub转载 2016-10-27 11:17:24 · 296 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“建造者模式”【整理】
背景:一个新需求:汽车的启动、停止、喇叭声音、引擎声音都有客户自己控制,他想什么顺序就什么顺序。 第一步,建立车辆模型,并实现package com.teng.pattern.impl;import java.util.ArrayList;/** * 汽车模型 * 创建日期:2016年7月3日 * Copyright 2016 tengxiang All Rights转载 2016-10-27 11:11:44 · 245 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“模板方法模式”【整理】
模板方法:如下,把抽象类上的四个方法设置为protected访问权限,这四个方法都由子类来实现,那就设置成protected模式,run方法子类都不修改,可以设置成final类型package com.teng.pattern.impl;/** * 悍马抽象类,模板设计模式 * 创建日期:2016年7月2日 * Copyright 2016 tengxiang All Rights转载 2016-10-27 11:05:02 · 512 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“适配器模式”【整理】
笔记本上拖在外面的黑盒子就是个适配器,适配器能够把这些不同的电压转换为你需要的36V电压,保证你的笔记本能够正常运行,两个不同的接口,有不同的实现,但是某一天突然上帝命令你把B接口转换为A接口,怎么办?继承,能解决问题,但是比较傻,而且违背OCP原则,怎么办?好在我们有适配器模式。其他:在一个对象中不存储实体状态以及对象之间的关系的就叫做贫血对象,上升到领域模型中就是贫血领域模型,有实体状转载 2016-10-27 11:00:57 · 277 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“门面模式”【整理】
背景:写信的过程大家都记得吧,先写信的内容,然后写信封,然后把信放到信封中,封好,投递到信箱中进行邮递。现在邮局开发了一个新业务,你只要把信件的必要信息告诉我,我给你发,我来做这四个过程,只要把信件交个我就成了。 先定义写信的过程接口,定义了写信的四个步骤:package com.teng.pattern.inter;/** * 寄信过程 * 创建日期:2016年6月26日转载 2016-10-27 10:54:13 · 272 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“抽象工厂模式”【整理】
【实际上加一个抽象类】上一章,忘记给人类定义性别了,那怎么办?给每个人类都加一个性别,然后再重新制造。八卦炉怎么办?只有一个呀,要么生产出全都是男性,要不都是女性,那不行,有了,把已经有了一条生产线——八卦炉(工厂模式中的Concrete Factory)拆开,于是女娲就使用了“八卦拷贝术”,把原先的八卦炉一个变两个,并且略加修改,就成了女性八卦炉(只生产女性,一个具体工厂的实现类转载 2016-10-27 10:45:57 · 399 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“工厂方法模式”【整理】
故事背景:女娲造人,女娲架起八卦炉(技术术语:建立工厂)开始创建人,具体过程是这样的:先是捏泥巴,然后放八卦炉里烤,再扔到地上成长,但是意外总是会产生的:第一次烤泥人,一个白人诞生了;第二次烤泥人,一个黑人;第三次烤泥人,黄种人。首先定义一个人类总称:package com.teng.pattern.impl;/** * 人类接口 * 创建日期:2016年6月22日转载 2016-10-27 10:33:22 · 415 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“多例模式”【整理】
有上线的多例模式怎么实现呢?还是以皇帝为例。1) 先把两个皇帝定义出来:package com.teng.pattern;import java.util.ArrayList;import java.util.Random;/** * * 创建日期:2016年5月28日 * Copyright 2016 tengxiang All Rights Reserved *转载 2016-05-29 00:14:23 · 431 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“单例模式”【整理】
单例就是单一、独苗的意思。 中国的历史上很少出现两个皇帝并存的时期,是有,但不多,那我们就认为皇帝是个单例模式,在这个场景中,有皇帝,有大臣,大臣是天天要上朝参见皇帝的,今天参拜的皇帝应该和昨天、前天的一样(过渡期的不考虑,别找茬哦),大臣磕完头,抬头一看,嗨,还是昨天那个皇帝,单例模式,绝对的单例模式。1) 定义一个皇帝【注:以下单例程序有问题,读者可先自行思考,稍后立即转载 2016-05-29 00:12:05 · 335 阅读 · 0 评论 -
《您的设计模式》(CBF4LIFE)之“代理模式”【整理】
什么是代理模式呢?我很忙,忙的没空理你,那你要找我呢,就先找我的代理人吧,那代理人总要知道被代理人能做哪些事情不能做哪些事情吧,那就是两个人具备同一个接口,代理人虽然不能干活,但是被代理人能干活呀。 场景:西门庆找潘金莲,那潘金莲不好意思答复呀,咋办,找那个王婆做代理。1) 先定义一种类型的女人,一种类型,肯定是接口package com.teng.pattern.i转载 2016-05-29 00:07:17 · 554 阅读 · 2 评论 -
《您的设计模式》(CBF4LIFE)之“状态模式”【整理】
以电梯的打开、关闭、运行、停止的四个状态,为示例。 一、抽象类package com.teng.abs;/** * 定义一个电梯的接口 * 创建日期:2016年10月21日 * Copyright 2016 UTOUU All Rights Reserved * @author tengxiang * @since 1.1 * @version 1.1 */publ转载 2016-10-27 13:38:11 · 761 阅读 · 0 评论