任何事物都有他的局限性,有它的适用场景,我们只能扬长避短、合理使用。
分层带来的问题:
1.分层过多不便于调试,有时需要问题集中,它突冲的双方直接对干有利于发现问题的所在
2.总体上增加了问题的复杂度及工作量
3.组件的缝合需要代价
4.影响性能
面向对象的缺点:
1.影响性能
2.不好把握内存,不需要的属性也需要初始化
3.持久化,一般是应用程序与数据库分离。
4.增加了前期工作,对象的划分、抽象相对复杂,控制不好更容易导致系统结构混乱
5.专注于数据流程的处理,使用面向过程更好
6.复杂度不容易控制,透度度减少,层次增加,平铺而透明
7.分层的缺点面向对象都有
面向对象相对于面向过程最大的改变就是数据与方法的集成,而不是分开单独处理
从大的角度而言,数据与方法本身就是分开的,对象只是对它们的包装,只是人为包装,从用户的角度他们才是一个对象。
资源与方法工具是分离的
材料与操作工具是分离的
Linux之父炮轰C++:糟糕程序员的垃圾语言
http://blog.csdn.net/turingbook/article/details/1775488
Eric Raymond谈模块化原则,胶合层和面向对象的缺陷
http://blog.csdn.net/myan/article/details/1924
Linux之父Linus Torvalds:C++一无是处
http://news.csdn.net/a/20100612/218785.html
软件开发还远不是一种“科学”
http://blog.csdn.net/leezy_2000/article/details/7102003