面向对象

来源:互联网 发布:淘宝网商贷款逾期了1天 编辑:程序博客网 时间:2024/06/03 17:07
       使用面向对象方法和技术是为了更敏捷的响应客户需求,使得软件更易于维护和拓展。面向对象主要思维特点是逻辑分析思维,认为万物皆有边界,如同世界这个词语一样,通过寻找边界封装定义一个事物,然后再探究这个事物内部的组成部分,通过封装不变性,开放变化性,增强系统的柔韧性和灵活性。

  面向对象诞生以来,面临着面向过程、面向数据和面向函数等范式的挑战,但是因为面向对象范式更接近人的思维和认识习惯,所以,使用OO实现业务建模设计,分析设计复杂的业务需求成为其主要强项。虽然随着Java/.NET等面向对象语言发展,将面向对象范式落地有形化,但也带来了对面向对象思想扭曲的理解,事件或消息驱动思想丰富拓展了现代面向对象思想。

  由于很多程序员从一开始接受数据结构和算法的基础教育,导致思维方式偏功能化,虽然使用面向对象语言编程,但是编程思路还是面向过程和面向数据表的,面向对象思维和面向数据库思维主要区别是:前者以动态思维来看待事物,用对象概念封装对象内部属性状态和引起状态变化的行为方法;而后者以静态思维看待事物,只是记录事实的最后状态,并且混杂了具体数据库技术。

  面向对象和面向过程是也有本质区别的,面向过程只是根据CPU机器的执行时序去编程,而面向对象体现了软件工程师的专业水准。面向对象范式讲究的不只是编写出计算机能看懂的代码,也要编写出同类其他软件工程师能够看懂的代码,追求的不只是软件的功能,而是这些功能随着需求变化所具有的可维护性和可拓展性。

  面向对象从软件的分析到设计及其编程单元测试,都已经有一套成熟可行的简便方案,可是我们由于接受传统滞后的教育原因,我们编程都只是从建立数据表结构开始,这种方式只适合小规模系统,当系统变大后,就需要重写,带来大量时间和金钱的浪费。而且习惯了面向过程和面向数据库的编程思维,要转变到面向对象思维上来,阻碍相当大,比登天还难,这就是现实中为什么大量都是基于数据库系统的原因。

  面向对象的本质是逻辑分析哲学,现代逻辑学是面向对象的元语言,

From:http://www.jdon.com/oo.html

0 0
原创粉丝点击