跳到主要内容
版本:2.10.x(Latest)

设计思想是 GoFrame 框架的灵魂,同时对于使用者来讲,是不可或缺的内功心法。

授人予鱼不如授人以渔,比起技巧性的框架、组件使用,我们想尽可能地告诉大家为什么这样、为什么那样。

GoFrame 有其独特的设计思想,理解了 GoFrame 的设计思想,您就理解了 GoFrame 的全部。

📄️ 模块化设计

介绍软件模块化设计的核心原则和 GoFrame 框架的模块化实践,包括模块的定义、模块化目标(解耦和复用)、模块复用三大原则(REP 复用/发布等同原则、CCP 共同闭包原则、CRP 共同复用原则)及其竞争关系。GoFrame 框架采用模块聚合设计,统一维护通用性的核心模块,提高可维护性,降低接入和维护成本,解答了编译型语言与解释型语言在模块依赖处理上的差异。

📄️ 统一框架设计

介绍GoFrame统一框架设计的意义和必要性,包括技术体系化(体系完善、组件丰富、规范统一、设计严密)、开发规范化(代码结构、分层模型、封装设计)、组件统一化(收归统一管理、降低选择成本)、版本一致性(降低维护复杂度)、解决方案沉淀(工具和代码形式优先)、避免资源浪费(避免重复造轮)等六大方面,使得开发人员能够将精力关注于业务本身。

📄️ 隐式与显式初始化

介绍程序启动时的初始化操作,包括隐式初始化和显式初始化两种方式。隐式初始化通过包的 init 方法执行,隐藏初始化细节但出错时难以定位。Golang v1.21 后 init 执行顺序发生变化,建议复杂初始化逻辑使用显式调用。显式初始化要求在 main 或 boot 模块中调用特定方法,更易于错误处理和问题定位。GoFrame 框架的基础组件多采用隐式初始化,而业务模块建议使用显式初始化。