课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,学习计算机编程开发技术的人也越来越多,而本文我们就简单来分析一下,面向对象编程需要解决哪些技术问题。
如果团队已经习惯了基于过程化的开发,那么要向面向对象开发进行转换还需要解决非常多的关键问题:
1.持久化
关系型数据库和领域(业务对象)模型之间有比较大的差异,我们不得不依靠一些ORM框架来实现业务对象的持久化,ORM框架的性能、ORM框架的学习难度、ORM框架的可靠性都是在把框架应用到项目中需要考虑的问题。
2.对象呈现
业务对象往往是相互关联的复杂结构,而UI往往是平面化(一维或二维)的趋向于关系型数据库一种表现方式,这个转换过程可能会很复杂,所谓的面向对象是不是没事找事把关系型数据转化为业务对象,再把业务对象格式化成UI喜欢的数据源(比如DataTable)呢?
3.性能
前面说的2点都可能会产生性能问题。先,表现层是否需要完整的业务对象,其次,是否需要从数据库中获取完整的业务对象。如果界面上只希望显示10K数据,而ORM框架却从数据库中获取了100K数据并且把它们都传给了表现层,是不是不太合理?如果说还引入了分布式的话,那么网络上传输的代价就会更大。从小的层次来说,面向对象本身就或多或少降低了性能。
主观原因
如果上述这些客观原因都不存在的话推行面向对象开发还有难度,那么可能还有一些主观原因存在:
1.给自己很多不使用OO的理由。拿到项目了,总是想项目太小、进度太紧,算了这次不尝试OO了,以后遇到其它项目再来尝试吧。没有小项目的思考,怎么能遇到大项目而不慌乱呢?
2.没有责任心。希望尽快结束项目,在项目可维护性变得很差连自己都不想维护的时候往往也是我们引咎辞职的时候。
3.没有转换的动力。大家沉浸在一个不错的过程化开发过程中,宁可愿意把维护的工作留给新来的同事也不愿意去尝试新的开发过程。
理想的环境
你或许一直在寻觅这样一个环境:
1.不错的公司,从事大型企业级软件的开发,有着经验丰富并且开明的项目经理。
2.项目周期长、项目大且复杂,客户对项目的维护性和扩展性要求比较高。
3.团队中不乏经验丰富的构架师和OO达人,团队讨论气氛良好。
4.有完整的基于面向对象的解决方案,开发流程非常正规。
说实话在国内确实很少。很多时候,我们能看到的也仅仅是在表面上非常好,而在真正的开发过程中发生扭曲的环境。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。