
设计模式
小鱼儿_zhang
专注IT,成就人生……
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
组合模式
/** * 组合模式 1.优点:统一处理 * * 抽象组件: 1.提取叶子和容器的共同部分 * * @author zhangjianbin * */public interface AbstractFile { // 杀毒 void killVirus();}/** * 叶子组件 * 下面没有孩子了 * @author zhangjianb原创 2016-01-20 22:07:23 · 305 阅读 · 0 评论 -
策略访问模式
/** * 策略访问模式 接口定义 * @author zhangjianbin * */public interface Strategy { double getPrice(double standprice);}/** * 新客户小量购买策略 * * @author zhangjianbin * */public class NewCoustome原创 2016-01-24 13:21:22 · 339 阅读 · 0 评论 -
模版方法模式
public abstract class BlankTemplateMethod { //具体方法 public void takeNumber(){ System.err.println("取号排队"); } //办理俱体的业务 :钩子方法 public abstract void transact(); public final voi原创 2016-01-24 13:50:00 · 251 阅读 · 0 评论 -
状态模式
0原创 2016-01-24 14:13:31 · 218 阅读 · 0 评论 -
原型模式
package prototype;import java.util.Date;/** * 羊 * * @author zhangjianbin * */public class Sheep2 implements Cloneable { private String name; private Date birthdays; public Sheep2() {原创 2016-01-07 22:14:37 · 263 阅读 · 0 评论 -
观察者模式
/** * 观察者接口 * * @author zhangjianbin * */public interface Observer { //更新观察者 void update(Subject subject); }/** * 观察者 * @author zhangjianbin * */public class ObserverA imple原创 2016-01-25 22:51:33 · 273 阅读 · 0 评论 -
备忘录
/** * 负责人类 * 负责管理备忘录对象 * @author zhangjianbin * */public class CareTaker { //备忘类引用 private EmpMeMento memento; //备忘类集合// private List<EmpMemento> list = new ArrayList<EmpMemento>();原创 2016-01-25 22:53:45 · 346 阅读 · 0 评论 -
适配器模式
/** * 客户端 : 相当于笔记本 只有usb接口 * * @author zhangjianbin * */public class Client { //需要一个usb接口 public void handleReq(Usb t) { /** * 发送打字请求 */ t.handleReq();原创 2016-01-11 21:18:14 · 225 阅读 · 0 评论 -
代理模式
静态代理模式 动态代理模式/** * 明星抽象接口 * 1.抽取真实明星类的公共方法 * @author zhangjianbin * */public interface Star { /** * 面谈 */ void confer(); /** * 唱歌 */ void sing(); /** *原创 2016-01-12 21:55:27 · 240 阅读 · 0 评论 -
解析器模式和访问者模式
0原创 2016-01-23 22:44:05 · 206 阅读 · 0 评论 -
命令模式
/** * 真正的执行者 * * @author zhangjianbin * */public class Receiver { public void action() { System.err.println("真正的执行者执行命令"); }}/** * 命令的接口 * * @author zhangjianbin * */pu原创 2016-01-23 22:34:14 · 244 阅读 · 0 评论 -
建造者模式
理解: 需要构建很多个零件(零件来源于工厂),并将零件按照一定的步骤组装成一个产品(如iphone6)。package com.zhang.buider;/** * 宇宙飞船类 * * @author zhangjianbin * */public class AirShip { /** * 飞船所需的零件类 */ private OrbitalM原创 2016-01-06 23:12:23 · 842 阅读 · 0 评论 -
装饰器模式
/*****************装饰器设计模式:对真实对象动态的添加功能*************************//** * 抽象组件 * @author zhangjianbin * */public interface ICar { //移动 void move();}/** * 俱体构件对象(真实的对象) * @author zhangjianbi原创 2016-01-21 21:52:27 · 286 阅读 · 0 评论 -
单例设计模式
单例设计模式代码:/** * 饿汉式 * @author zhangjianbin * */public class Demo1 {//类初始化时,立即加载对象(如果后面没有调用这个类,而加载这个对象又比较耗时,//则白干了,并且是天然的线程安全的) private static final Demo1 s = new Demo1(); private Demo1()原创 2016-01-04 21:55:02 · 274 阅读 · 0 评论 -
工厂模式
没有使用工厂模式时,调用者需要知道 接口类,各个俱体实现类 使用简单工厂,调用者需要知道 工厂类,接口 /** * 简单工厂,也叫静态工厂设计模式,但是对于新增的功能无法扩展。 * 只能修改原代码,违反 开闭原则 ocp * * @author zhangjianbin * */public class CarFactory { private static Car c原创 2016-01-05 22:49:26 · 277 阅读 · 0 评论 -
外观模式
外观模式-------->封装的意思,让调用者简单原创 2016-01-22 21:55:47 · 226 阅读 · 0 评论 -
享元模式
* 俱体享元类 * 棋子实现类 * * @author zhangjianbin * */class ConCeaterChess implements ChessFlyWeight { //提供变量存储内部状态 private String color; public ConCeaterChess(String color) {原创 2016-01-22 23:04:09 · 249 阅读 · 0 评论 -
责任链模式
/** * 请假条:申请 封装请假条的基本信息 * * @author zhangjianbin * */public class LeaveRequest { private String empName; //员工 private int leaveDays; //请假天数 private String reason; //请假原因 public原创 2016-01-23 14:18:47 · 226 阅读 · 0 评论 -
迭代器模式
/** * 迭代器接口 * @author zhangjianbin * */public interface MyIterator { void first(); //将游标指向第一个元素 void next(); //将游标指向下一个元素 boolean hasNext(); //判断是否还有下一个元素 boolean isFirst(); //判断是否是原创 2016-01-23 15:05:08 · 248 阅读 · 0 评论 -
中介者模式
/** * 同事类的接口 * * @author zhangjianbin * */public interface Department { /** * 做本部门的事 */ void selfAction(); /** * 向总经理发出请求 */ void outAction(); }/** * 研发部门原创 2016-01-23 16:10:23 · 300 阅读 · 0 评论 -
桥接模式
package com.zhang.bridge;/** * 桥接模式 * 实现多维度变化的类 * 新添加品牌类时,其它产品也天然的俱备了个种品牌了 * @author zhangjianbin * */public interface Brander { //销售电脑 void sale();}/** * 销售联想电脑 * @author zha原创 2016-01-13 21:46:59 · 269 阅读 · 0 评论