这是一期会引起广泛讨论的内容,不亚于“PHP 是世界上最好的语言”。
内功心法
不管我们是否基于框架去开发,不管使用什么框架去开发。
6个字的内功心法一定要牢记:高内聚,低耦合。
不管是单体项目还是微服务,不管是小组件还是大功能,不管是业务还是领域 DDD,也都遵从这个原则:
(模块、功能、业务、领域)内部高内聚,
(模块、功能、业务、领域)之间低耦合。
PHP 转 Go,优选哪个框架?
答案:GoFrame
为什么?
和 PHP 的 Laravel 简直太像了,用起来太香了,很顺手。
为什么不火?
对新手不友好,有门槛。
GoFrame 特点
优势:
- 模块化
- 高性能
- 企业级
劣势:
- 有学习门槛
- 版本兼容性不好
- 暂不支持微服务
框架选型
谁适合用 GoFrame
- PHP 转 Go(Laravel 的同学会用起来很爽)
- Java 转 Go (Spring Boot 的同学会用起来很爽)
- 比较复杂的企业级单体项目 (很规范,维护成本低,少踩很多坑)
谁不适合用 GoFrame
- 编程小白(容易被劝退)
- 特别简单的项目用 gin 等轻量级框架(杀鸡焉用牛刀)
- 非常复杂的分布式微服务项目用 go-zero 等微服务框架(没有任何一款框架是万能的)
GoFrame 框架设计思想
这些不作为本期内容的重点,大家可以直接阅读官方文档。
我也有计划录制视频,结合我们的商业项目,站在使用者的角度去分享使用 GoFrame 的感受,如何理解框架的设计思想。
开发流程
我梳理的 GoFrame V2 最新版的开发流程
从 0 到 1
- 设计表结构
- 使用 gf gen dao 生成对应的 dao/do/model
- 编写 api 层:定义业务侧数据结构,提供对外接口的输入/输出数据结构
- 编写 model 层:定义数据侧数据结构,提供对内的数据处理的输入/输出数据结构
- 编写 logic 层,自动生成 service 层代码。(通过配置 goland File Watcher 自动生成,也可以通过 gf gen service 手动执行脚本生成,建议前者)
- 在 service 层代码生成 RegisterXX()方法后,在对应的 logic 模块注册服务(每个模块只需要写一次)
- 编写 controller 层,接收/解析用户输入的参数,调用 service 层的服务。
- 注册路由,对外暴露接口,比如这个项目是编写 cmd.go 文件。
- 在 main.go 中 加入一行 _ “project-name/internal/logic” (只需写一次)
- 在 main.go 中加入一行 _ “github.com/gogf/gf/contrib/drivers/mysql/v2” (如果你使用的是 mysql;只需写一次)
核心步骤
- 编写 api 层:定义业务侧数据结构,提供对外接口的输入/输出数据结构
- 编写 model 层:定义数据侧数据结构,提供对内的数据处理的输入/输出数据结构
- 编写 logic 层,自动生成 service 层代码。(通过配置 goland File Watcher 自动生成,也可以通过 gf gen service 手动执行脚本生成,建议前者)
- 编写 controller 层,接收/解析用户输入的参数,调用 service 层的服务。
- 注册路由,对外暴露接口,比如这个项目是编写 cmd.go 文件。
总结
没有一个框架是万能的,也没有一个语言是万能的。
结合自己的需求去选择合适的框架,合适的开发语言。
不要被眼前暂时的得意或者失意“一叶障目”,结合实际情况,实事求是,拥抱变化,不断学习,才能“见泰山”。
面向“养家糊口”编程,能稳定赚钱的职业才是好职业。
这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!
CSDN大礼包:全网最全《全套Python学习资料》免费分享🎁
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
因篇幅有限,仅展示部分资料
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓