onceio让开发更简单
onceio是一个简单而又强大的框架。
系统设计的简单与否,可以用功能概念量比来衡量。不能单纯的因为一个系统概念量多久说其复杂不好, 以Hibernate和Mybatis为例,笔者认为,Mybatis的简单是因为其功能核心功能太少。 Hibernate是一个强大而复杂的系统,其一对多,多对一,多对多的模型,持久化,以及对面向对象思想的 极致追崇,引入了太多的概念。显得有些复杂。
OnceIO的ORM不但拥有Hibernate的核心的功能,同时又解决多表关联查询
如何才能让开发更简单
1. 消除一切形式化的创新,标准化操作,去除一切不必要的差异!相同的事儿,只做一次,所有人都共享。
2. 为变更而设计,ORM中,数据模板通过动态代理感知字段的变化,在编译期抛出错误。
a.关联查询(虚表)
- 1.根据查询条件(查询参数,排序条件)生成最少连接 。【该优化MySQL需要,而Postgres自带该优化功能】
- 2.路由式关联连接定义,让多变关联操作像单表一样
b.生成表结构,根据POJO生成建表sql,并能比较版本变更。
c.RESTful接口实现。
1.统一的表单验证
2.同簇数据的产生
3.接口调用以及触发动作的执行
4.数据的逻辑删除与找回
5.同簇表间关联虚表
d. 额外功能
1.接口文档产生(校验,关联数据),通知接口变更。
2.表结构的查看,在线生成接口(通过编辑json)
3.国际化与常量 DONE
4.权限与审计(黑名单,白名单)
5.资源保存与删除(去除重复文件,资源被引用次数)
5.1.图片处理,缩略图,裁剪,压缩
5.2.文本压缩
6.执行任务(如修改ID,调整字段名称,数据迁移等耗时比较长,导致服务器停顿的业务),带数据升级,调整以前数据组织架构功能
7.请求通知协议,每个请求除了userId,token外,还有最新通知码 通知你需要更新你的数据
f. 易用性需求
-
- 配置文件外置。参数外置等。