编码复杂度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)。git

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

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

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

Bee的源码网址:mvc

https://github.com/automvc/bee 框架

码云上的地址:性能

https://gitee.com/automvc/bee编码

相关文章
相关标签/搜索