基本介绍
由于模块化的设计方式, GoFrame
框架既可以当做工具库使用,也可以直接用于完整的开发业务项目。
考虑到大家使用框架大部分场景下是用于开发业务项目(微服务项目),因此框架也提供了工程开发的一些设计和实践,便于大家直接开箱即用。
注意事项
工程开发设计是很复杂的"学问",不同的团队有不同的设计风格,甚至某些场景下还和团队 leader
喜好有较大关系。
框架官网提供的工程开发设计,是基于编写该章节的作者经验,以及通过 Go
实践的项目踩坑而来。她能帮助各位解决常见的工程开发难题,但我们不认为她能符合所有的开发团队的喜好。
查阅这里所有的设计章节,理解每一块设计本身的背景和思路,比直接使用框架组件和工具劳动更有价值。
相关文档
📄️ 代码分层设计
GoFrame框架的代码分层设计,包括MVC设计模式和三层架构设计。MVC设计模式适合需要服务端渲染页面的业务场景,而三层架构设计强调高内聚低耦合的思想,通过将业务逻辑层与数据访问层进行分离,提高项目的维护性和灵活性。
📄️ 工程目录设计🔥
GoFrame框架中工程目录设计的方法,基于三层架构模型并结合现代工程实践进行改进,为复杂业务项目提供通用且灵活的目录结构设计。目录组件包含api、internal、dao和logic等模块,支持多种业务场景,同时鼓励开发者灵活增减目录,用于业务实现中各类具体应用。
🗃️ DAO封装设计
2 items
📄️ 结构化编程设计
在GoFrame框架下如何通过结构化编程改善代码设计,详细分析了在controller和service层出现的非结构化问题,并提供了使用结构体管理参数的优点和示例。通过结构化管理接口输入和输出,不仅简化了参数接收、校验和转换的过程,还提高了生产力,降低了维护成本,实现了更便捷的接口文档生成和更规范的错误处理机制。
📄️ 数据模型与业务模型
GoFrame框架中的数据模型与业务模型,包括MySQL、Redis等数据库的数据模型,以及用于接口交互的输入/输出模型。详细讲述业务输入/输出模型的定义和使用,特别介绍特殊的业务模型DO与ORM组件集成,简化DAO数据访问操作。
📄️ 微服务大仓管理模式
GoFrame框架对微服务-单仓管理模式的支持,详细描述如何在这种模式下进行代码开发和服务协作。讨论了单仓管理的优缺点,以及如何通过划分仓库职责、管理代码可见性、统一镜像仓库等方法优化微服务协作。同时,提供了相关的框架指令,帮助开发者更高效地管理和部署微服务项目。