go 偏向于轻框架而不是集成度特别高的框架,为什么?

  • 重框架也就是大型、侵入式框架的缺点
    • 学习曲线陡峭
    • 性能损耗
    • 不够灵活
    • 开发者不知道框架底层具体干了些什么
  • go 自己有强大的标准库,让开发者遇到问题的时候首先向内寻求解决办法,这是其轻框架理念的底气
  • go 组合优于继承,接口驱动设计
  • 轻框架能够让开发者有一种掌控感,知道底层干了什么
  • 鼓励只针对一个特定问题寻求解决方案,而不是“万能”框架

go 的轻框架理念又会带来什么问题?

  • 重复造轮子,功能相似但是实现逻辑不同
  • 技术选型不知道到底选哪个
  • 因为灵活自由,各个服务不同开发者实现出来的代码风格、框架选型可能都不一样

如何避免轻框架理念带来的问题,在自由和规范之间寻找一个平衡点?

  • 团队文档沉淀
  • 着重架构设计