Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

一、项目背景

GoFrame项目开始得比较早,原本是公司内部孵化项目的一部分,用于企业内部使用的Go项目开发框架。由于需要给内部技术团队使用,并且鄙人深谙好的产品生命周期是20%的开发周期,80%的维护周期,因此降低入门成本,特别是维护成本是非常重要的一点考虑。所以GoFrame在设计上非常简洁,并且无论代码注释还是开发文档都写得非常详尽,且文档以中文为主,主要面向的是国内的团队和企业用户,以期降低开发人员的入门门槛、提高项目开发及维护效率。

GoFrame既是一款优秀的开发框架,也是一套高质量的基础组件集,这一切都是若干年日积月累的沉淀成果,难以一蹴而就,这也是其他Golang"框架"和"类库"难以企及和比拟的。

二、发展目标

1、工程化建设

GoFrame是面向工程化的,支持团队快速接入、高效开发、长期维护。针对业务型项目而言,提供工程实践的项目架构、设计模式、开发规范、开发工具、开发文档等团队开发与维护必需的基础服务能力。

2、基础组件建设

基础组件的研发,往往是短期投入、长期收益,投入产出比是最大的,因此GoFrame会长期不遗余力地加强对基础组件的研发建设。

3、团队企业为主

由于面向工程化,针对于团队开发协作来讲,可以将框架的服务能力价值最大化,因此GoFrame更适用于团队和企业用户。来源社区、回馈社区,鼓励团队和企业与开源社区良性循环共生。

4、社区生态共建

发挥和促进开源社区的能动性,繁荣GoFrame生态。

三、设计原则

1、简洁、易用

  • KISS设计原则。
  • 各个组件对外暴露的接口、变量足够的清晰简洁,仅公开必要的资源,减少对开发者的心智负担。
  • 各个组件内部实现对复杂功能的逻辑封装,保证良好易理解的命名规范,提高易用性和开发体验。

2、模块化、低耦合

  • "高内聚,低耦合"设计原则。
  • 一切面向模块化低耦合化设计。
  • 任意一个模块可被独立引用、按需加载。
3、高性能与稳定性

3、面向接口化设计

  • 核心组件关键能力面向接口化设计,保证充足的可扩展能力
  • 开发者可以根据特定的业务场景自定义接口实现,灵活性高

4、高性能与稳定性

  • 基础组件必须保证高性能,并提供必要的性能基准测试。
  • 每个组件提供单元测试用例,保证核心功能逻辑覆盖率。
4、高代码与文档质量

5、高代码与文档质量

  • 保证清晰简洁易理解的代码命名规范。
  • 保证完善的注释说明、关键逻辑说明。
  • 保证每一次迭代,开发文档与功能逻辑同步更新。















Panel
titleContent Menu

Table of Contents