Aha!设计模式(75)-职责链模式(3)

网友投稿 684 2022-10-12

Aha!设计模式(75)-职责链模式(3)

Aha!设计模式(75)-职责链模式(3)

示例代码

本文提供一种职责链模式的Python实现。首先是对请求建模。

代码中构建了三个毫不相关的Request类,其中Request1和Request2有功能,而DummyRequest没有功能。接下来是Handler基类:

Handler类通过初始化方法指定successor,通过handler_request处理请求。由于Handler是基类,所以只是简单地将请求传送给succesor。如果没有指定successor,则输出文字表示传播链结束。

接下来首先是Request1Handler和Request2Handler类,分别用来处理Request1、Request2。另外一个DummyHandler,只是用来对外宣称自己什么也不做。接下来是主函数:

代码中首先构建了一个传播链:DummyHandler->Request1Handler->DummyHandler->Request2Handler。然后分别发送了三个请求:DummyRequest、Request1和Request2。输出结果如下:

DummyRequest通过了所有Handler而没有被处理;Request1被Request1Handler处理后传播中断;Request2被Request2Handler处理后传播结束。

注意事项

由于Python不检查变量的类型,所以我们不需要为Request定义基类。

觉得本文有帮助?请分享给更多人。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:为小缘粉丝俱乐部 YUKARI FAN CLUB 而设计的 PHP 框架(bilibili)
下一篇:Aha!设计模式(96)-观察者模式(1)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~