跳转至

规则/约束

注意

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语言本身的特性类似。