规则/约束
注意¶
ie310go框架中有很多规则或约束,请仔细阅读此文档以评估是否适用您的项目。
动静分离¶
- 提倡动静分离,不提供模板文件动态渲染成html的功能
- 提供简单的静态文件代理功能,也预留了可自行处理的接口
api统一路径格式¶
- 统一api调用路径格式,减少前后端沟通障碍,降低开发人员心智负担
- api路径示例:http://host:port/xxxxService.xxx?m=xxx&par1=xxx&par2=xxx
xxxxService.xxx部分:服务名.服务后缀 m=xxx:要调用的方法名称 par1=xxx&par2=xxx:传递的参数 参数可以用get方式传递也可以用post方式传递
简单的配置¶
- 提倡简单配置,使用json配置、flag命令行参数,降低配置系统的复杂性
db模块¶
- 没有复杂的orm映射功能
- 先定义数据表,再根据数据表自动生成model、mapper、service(目前只支持mysql)
- 自动生成的mapper类包含所有的增、删、改、查操作
- mapper类提供方便的扩展方法,可随时扩展更复杂的操作
- 默认只生成单表操作,对于多表级联等复杂操作,交由程序员自行处理(但提供简便的基本方法支持)
- 扩展mapper时,直接使用原生sql语句,回归原始,不使用hsql等不具有通用性的方式,降低学习成本
- 总之,db模块有点类似于java中的mybatis,但由于go语言的特性,也存在很多变化
关于https¶
- 目前未提供https支持,可考虑在出口层使用nginx反向代理添加https支持
总结¶
- ie310go在很多方面进行了强规则约束,放弃了灵活性,带来一致性、简洁性,这与go语言本身的特性类似。