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

猜你喜欢

转载自blog.csdn.net/abckingaa/article/details/84557437