大约 2 分钟
最近一直听大佬说责任链模式,决定看看到底是什么。本文由翻阅《大话设计模式》得
一、引言
击鼓传花游戏,也称传彩球。中国民间游戏,流行于中国各地。数人、十数人或数十人围成一个圆圈席地而坐,另外一个人背对着人圈以槌击鼓。鼓响时,开始传花,花由一个人的手里传。
有时候,花束就开始依次传递,鼓声一落,假如花束在某人手中,则该人就得饮酒(多是唱歌、跳舞、说笑话;或回答问题、猜谜、按纸条规定行事等)。
击鼓传花便是责任链模式的应用。在责任链模式里,很多的对象由每一个对象对其下家的引用而联接起来形成一条链。
请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。
在这个游戏中,参与游戏的人士具体处理者的对象,击鼓的人士客户端的对象。花代表请求。每个参加游戏的人有两个行为:(1)将花传下去(2)喝酒。击鼓的人不知道最终是哪个人执行了喝酒,但必然是做游戏的人们中的一个。
大约 3 分钟