编码复杂度C(n)

编码复杂度C(n):在MVC编程中,一般会涉及到action,service,dao,model(实体)。当用面向对象方式操作一个DB表时,要写一份dao;当操作两个表时,要写两份dao;当操作n个表时,要写n份dao;则此时编码的复杂度会随着问题规模增长为n,编码复杂度也变成n。关于问题n的编码复杂度(Coding Complexity)用C(n)表示。则上面描述问题的编码复杂度为:C(n)=O(n)。

流程的Hibernate,Mybatis的编码复杂度C(n)=O(n)。对于每个实体,需要写一个dao接口文件。编码复杂度C(n)=O(n),即会随实体的增长,编码量呈线性增长。当n较大时,会增加许多人力物力消耗。

编码复杂度C(n)=O(1)的ORM框架,如Bee。 ORM操作DB的工作量由n变1,生产率由1变n。

编码复杂度也如时间复杂度和空间复杂度(计算机领域中数据结构研究的两个重要问题)那样,从O(n)变为O(1)对性能、效率提升是很明显的。

Bee的源码网址:

https://github.com/automvc/bee 

码云上的地址:

https://gitee.com/automvc/bee

转载于:https://my.oschina.net/u/4111850/blog/3050181

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值