大话设计模式-----第45章


女总裁的神秘保镖 山村小神医 绝品神医 先婚后爱:总裁老公吻上瘾 总裁宠妻百分百 校草的专宠:池少的1号甜心 粉粉妈咪不准逃 蜜战告急:娇妻不上道 都市绝色榜 黑马王子别想逃! 不朽金身 合体武圣 圣域之王者归来 修魔成神 无限之穿越最强 求道 天才宝宝迷糊妈 青红怨 不灭元神 花样美型男
第45章

大B:责任链模式是一种对象的行为模式。你知道它都涉及到哪些角色吗?

小A:“嘿嘿!不知道喔!”

大B:“没关系,我告诉你。所涉及到的角色如下:第一、抽象处理者角色、定义出一个处理请求的接口;假如需要,接口可以定义出一个方法,以返回对下家的引用。”

大B:“在图中还给出了一个客户端,以便可以更清楚地看到责任链模式是怎样应用的。你能写出抽象处理者的示意性源代码吗?”

小A:“写不出来喔!还请师兄教我。”

大B:“好。”

抽象处理者的示意性源代码:

publicclassHandler

{

publicvoidhandleRequest()

{

if(successor!=null)

{

successor.handleRequest();

}

//Writeyourcodehere

}

publicvoidsetSuccessor(Handlersuccessor)

{

this.successor=successor;

}

publicHandlergetSuccessor()

{

returnsuccessor;

}

privateHandlersuccessor;

}

代码清单8、抽象处理者的源代码。

具体处理者的示意性源代码:

publicclassConcreteHandlerextendsHandler

{

publicvoidhandleRequest()

{

if(getSuccessor()!=null)

{

getSuccessor().handleRequest();

}

if(successor!=null)

{

successor.handleRequest();

}

//Writeyourcodehere

}

}

代码清单9、具体处理者的源代码。

客户端的源代码如下:

publicclassClient

{

privateHandlerhandler;

publicstaticvoidmain(String[]args)

{

handler=newConcreteHandler();

//writeyourcodehere

}

}

代码清单10、客户端的源代码。

推荐小说