首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

责任链模式小记

2012-09-11 
责任链模式小记【原创】?? ? ? ? ? 中国古代对妇女制定了“三从四德”的道德规范,“三从”是指“未嫁从父、既嫁从

责任链模式小记【原创】

?

? ? ? ? ? 中国古代对妇女制定了“三从四德”的道德规范,“三从”是指“未嫁从父、既嫁从夫、夫死从子”,也就是说一个女性,在没有结婚的时候要听从于父亲,结了婚后听从于丈夫,丈夫死了还要听儿子的,举个例子来说,一个女的要出去逛街,同样这样的一个请求,在她没有出嫁前她必须征得父亲的同意,出嫁之后必须获得丈夫的许可,那丈夫死了怎么办?一般都是男的比女的死的早,还要问问儿子是否允许自己出去逛街,估计你下边马上要问要是没有儿子怎么办?

  既然有这么多的问题,那我们要想办法来解决这些问题,我们可以抽象成这样一个结构,女性的请求先发送到父亲类,父亲类一看是自己要处理的,就回应处理,如果女儿已经出嫁了,那就要把这个请求转发到女婿来处理,那女婿一旦去天国报道了,那就由儿子来处理这个请求,类似于这样请求:

责任链模式小记

  父亲、丈夫、儿子每个节点有两个选择:要么承担责任,做出回复;要么把请求转发到后序环节。结构分析的已经很清楚了,那我们看怎么来实现这个功能,先看类图:

责任链模式小记

我们使用数字来代表女性的不同状态,1是未结婚,2是已经结婚的,而且丈夫建在,3是丈夫去世了的

从类图上看,三个实现类Father、Husband、Son只要实现构造函数和父类的中抽象方法就可以了,具体怎么处理这些请求,都已经转移到了Hanlder抽象类中,我们来看Hanlder怎么实现:

_request;break;case 2:this.request = "妻子的请求是:" + _request;break;case 3:this.request = "母亲的请求是:" + _request;}}//获得自己的状况public int getType(){return this.type;}//获得妇女的请求public String getRequest(){return this.request;}}

?

我们再来看Client类是怎么描述古代这一个礼节的:

一句话概括责任链模式:职责链模式:之类的自身迭代,与装饰相识

更多信息请查看?java进阶网?http://www.javady.com

2 楼 liuwei8728 2012-04-16   有意思嘛  还原创  明明别人弄过的例子 

热点排行