设计模式之解释器模式Interpreter
是一种不常用的设计模式
用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的编译器和解释器设计。
当我们需要开发一种新的语言时,可以考虑使用解释器模式。
尽量不要使用解释器模式,后期维护会有很大麻烦。在项目中可以使用jruby,Groovy,java的js引擎...
分类:
其他好文 时间:
2015-04-14 21:35:58
阅读次数:
135
??
中介模式Mediator
场景
假如没有总经理,下面有三个部门,财务部,市场部,研发部。财务部要发工资,让大家和对公司需要跟市场部和研发部都通气。市场部要接个新项目,需要研发部技术支持,需要财务部处理资金。市场部跟各个部门打交道。财务部发钱了,需要跑去和研发部和市场部打交道。研发部研发产品,市场部做调研,销售缺少资金又需要去找财务部。在这种情况下...
分类:
其他好文 时间:
2015-04-12 12:06:28
阅读次数:
123
/**
* 时间:2015年4月12日09:57:11
* 抽象中介类,定义了同事对象到中介者对象的接口
*
*/
package com.bjsxt.cn.mediator;
public interface Mediator {
public void register(String dname, Deparment d);
public void command...
分类:
其他好文 时间:
2015-04-12 12:05:09
阅读次数:
169
??
迭代器模式
场景:
提供一种可以遍历聚合对象的方式。又称为游标cursor模式
聚合对象:存储数据
迭代器模式:遍历数据
聚集抽象类 Aggregate
Iterator
迭代抽象类,用于定义得到开始对象,得到下一个对象,判断是否...
分类:
其他好文 时间:
2015-04-12 09:17:01
阅读次数:
165
??
/**
* 请假条
* 封装请假的信息。
*/
package com.bjsxt.cn.chainOfResponsibility;
public class LeaveRequest {
private String empName;
private int leaveDays;
private String reasons;
public L...
分类:
其他好文 时间:
2015-04-09 17:34:40
阅读次数:
145
??
责任链模式:Chain of responsibility
将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象。
场景:
打牌时,轮流出牌。
接力赛跑
大学中,奖学金审批。
...
分类:
其他好文 时间:
2015-04-09 17:34:29
阅读次数:
176
??
/**
* 抽象就角色,定义代理角色和真实角色的公共对外方法
* 时间:2015年4月4日18:45:00
* 在这个例子中,抽象角色起着规范代理角色和真实角色的作用。
* 其中具有方法,面谈,签合同收预付款,预订机票,唱歌,收尾款
*/
package com.bjsxt.cn.proxy.dynamicProxy;
public interface Star...
分类:
其他好文 时间:
2015-04-05 09:10:15
阅读次数:
181
??
/**
* 抽象就角色,定义代理角色和真实角色的公共对外方法
* 时间:2015年4月4日18:45:00
* 在这个例子中,抽象角色起着规范代理角色和真实角色的作用。
* 其中具有方法,面谈,签合同收预付款,预订机票,唱歌,收尾款
*/
package com.bjsxt.cn.proxy.staticProxy;
public interface Star ...
分类:
其他好文 时间:
2015-04-05 09:09:08
阅读次数:
141
1,定义
Gof23设计模式中是这样定义桥接设计模式:桥接模式的目的是把抽象层次结构从其实现中分离出来,使其能够独立变更。抽象层定义了供客户端使用的上层的抽象接口。实现层次结构定义了供抽象层次使用的底层接口。实现类的引用被封装于抽象类的实例中时,桥接就形成了。
我们用一个游戏的例子去理解这个桥接模式,比如,我们假如魂斗罗一代,魂斗罗二代界面没多大变化,可以共用一套底层接口。
上面这个...
分类:
其他好文 时间:
2014-05-21 15:03:19
阅读次数:
260