<b>Java情势开辟之责任链情势</b>[Java编程]
本文“<b>Java情势开辟之责任链情势</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
从击鼓传花谈起
击鼓传花是一种热烈而又慌张的饮酒游戏.在酒宴上宾客顺次坐定位置,由一人击鼓,击鼓的地方与传花的地方是脱离的,以示公道.开始击鼓时,花束就开始顺次传送,鼓声一落,假如花束在某人手中,则该人就得饮酒.
假比说,贾母、贾赦、贾政、贾宝玉和贾环是五个参与击鼓传花游戏的传花者,他们构成一个环链.击鼓者将花传给贾母,开始传花游戏.花由贾母传给贾赦,由贾赦传给贾政,由贾政传给贾宝玉,又由贾宝玉传给贾环,由贾环传回给贾母,如此往复(见下图).当鼓声终止时,手中有花的人就得履行酒令.
图1、击鼓传花.
击鼓传花就是责任链情势的利用.在责任链情势里,很多的对象由每一个对象对其下家的引用而联接起来形成一条链.恳求在这个链上传送,直到链上的某一个对象决意处理此恳求.发出这个恳求的客户端并不知道链上的哪一个对象终究处理这个恳求,这使得系统可以在不影响客户端的情形下动态地重新组织链和分配责任.
责任链大概是一条直线、一个环链乃至一个树构造的一部份.
责任链情势的构造
责任链情势是一种对象的行为情势,它所触及到的角色以下:
第1、抽象处理者(Handler)角色、定义出一个处理恳求的接口;假如需求,接口可以定义出一个办法,以返回对下家的引用.下图给出了一个表示性的类图:
图2、抽象处理者角色.
在图中的堆集关系给出了具体子类对下家的引用,抽象办法handleRequest()标准了子类处理恳求的操作.
第2、具体处理者(ConcreteHandler)角色、处理接到恳求后,可以挑选将恳求处理掉,大概将请 求传给下家.下图给出了一个表示性的类图.
图3、具体处理者角色.
以上是“<b>Java情势开辟之责任链情势</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |