Golang中的策略设计模式实例

73 阅读1分钟

Go不是一种面向对象的编程语言,但我们仍然可以在其中复制一些模式。在这个例子中,我们将看到策略设计模式的例子。策略设计模式的行为就像if ... elseswitch ... case 语句一样,所以你给它一些东西,它就知道到底该怎么做。

结构

internal/

文件

file.go

package cache

redis.go

package cache

session.go

package cache

strategy.go

这是所有策略的实现。

package cache

cache.go

这是我们在代码中互动的部分。

package cache

main.go

正如你所看到的,我们可以在不改变代码的情况下使用任何缓存机制。我们所要做的就是,选择一个缓存策略。这就是策略模式的全部意义所在。

package main

测试

Pushing [ key-f : value-f ] to file...