Kubernetes微服务实战
上QQ阅读APP看书,第一时间看更新

3.3.7 生成样板

Go kit清晰的关注点分离和整洁的架构分层是有代价的——需要大量枯燥、令人麻木和容易出错的样板代码来翻译不同结构体和方法的请求和响应。理解Go kit如何以泛型的方式支持强类型接口是很有用的,但是对于大型项目,更好的解决方案是从Go接口和数据类型生成所有样板。有一些开源项目可以完成这项任务,其中包括一个由Go kit本身开发的kitgen项目(https://github.com/go-kit/kit/tree/master/cmd/kitgen),目前它还处于实验阶段。

我是代码生成的忠实拥护者,强烈建议你这样做。但是,在接下来的部分中,为了详细说明发生了什么,我们将会看到很多手动样板代码。