go-pattern-examples/behavior/06_chain_of_responsibility
2020-05-04 01:22:30 +08:00
..
README.md add code to chain_of_responsibility pattern 2020-05-04 01:11:19 +08:00
responsibility_chain_game_test.go add a game exampe for chain_of_responsibility 2020-05-04 01:10:46 +08:00
responsibility_chain_test.go finish chain_of_responsibility pattern 2020-05-04 01:22:30 +08:00
responsibility_chain.go finish chain_of_responsibility pattern 2020-05-04 01:22:30 +08:00

职责链模式

职责链模式用于动态组合一些行为在go实现相对更为简单行为模式中提到的option模式跟此模式很像但是两者场景用例不同op模式的行为常常用于对象初始化或者某一过程中设置参数职责链主要作用在于动态组合行为链以便处理特定的对象或者问题。

各大框架和语言中间件模式就是一个典型的职责链模式,一个对象,在中间件中层层传递,每一层都可以进行自己的处理。

Golang中由于函数对象存在使得职责链模式实现来更加灵活。

现实生活中的一个申请的行政审批流程就是一个很好的职责链的例子,一个申请提交之后,要经过若干人对其进行处理。