mirror of
https://github.com/Estom/notes.git
synced 2026-04-25 02:52:37 +08:00
go知识重新整理
This commit is contained in:
28
Go/DesignPattern/chain/chain_test.go
Normal file
28
Go/DesignPattern/chain/chain_test.go
Normal file
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* @Author:zhoutao
|
||||
* @Date:2020/12/13 上午9:50
|
||||
* @Desc:
|
||||
*/
|
||||
|
||||
package chain
|
||||
|
||||
func ExampleChain() {
|
||||
|
||||
//创建好每个节点的Manager
|
||||
chain1 := NewProjectManagerChain()
|
||||
chain2 := NewDepManagerChain()
|
||||
chain3 := NewGeneralManagerChain()
|
||||
|
||||
//connected r Chain with m Chain
|
||||
chain1.SetSuccessor(chain2)
|
||||
chain2.SetSuccessor(chain3)
|
||||
|
||||
var c Manager = chain1
|
||||
|
||||
c.HandleFeeRequest("bob", 400) //Project
|
||||
c.HandleFeeRequest("tom", 1400) //Dep
|
||||
c.HandleFeeRequest("fool", 10000) //General
|
||||
//
|
||||
c.HandleFeeRequest("tony", 300) //Project
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user