go-pattern-examples/behavior/12_strategy
2020-05-02 23:58:17 +08:00
..
README.md update README.md & order template_method pattern 2020-05-02 23:58:17 +08:00
strategy_test.go update README.md & order template_method pattern 2020-05-02 23:58:17 +08:00
strategy.go update README.md & order template_method pattern 2020-05-02 23:58:17 +08:00

策略模式

策略模式是定义一系列具有相同签名的接口方法,让这些方法在运行时可以互换.

通俗的讲就是同一个函数、动作、行为等接口,在不同类型的对象上有不同的实现,所以,以在运行替换,这也非常符合开闭原则.

常用的例子是计算加减乘除,这里用一个存款的例子,大陆居民用人民币存款,香港居民用港币.

向银行执行存款动作时候,给出的现金钱是不同的类型,大陆居民拿出人民币,香港居民拿出港币.