面向对象、面向过程和面向数据库建模

来源:互联网 发布:qq飞车皮皮虾辅助源码 编辑:程序博客网 时间:2024/06/05 19:10
 
随着微软从2004年起开始重视面向对象技术的教育和应用(之前即使不是误导,也是有意忽视),面向对象分析与设计技术终于在微软开发社区中得到了日益的普及。但是如何顺利实现从传统的分析和设计思想到面向对象分析和设计思想的转变呢?本文希望给出一点线索。
首先解释几个概念:
面向对象和面向过程指的是两种设计的方法,两者的区别请参见过程式设计和面向对象设计的比较
面向对象建模和面向数据库建模指的是两种系统分析的方法,两者的区别请参见面向对象建模与数据库建模两种分析设计方法的比较
面向对象分析和设计技术虽然已经出现了很长时间,但由于它与我们日常的思维习惯并不一致,所以要完成从传统的思想向面向对象思想的转变一个脱胎换骨,甚至是痛苦的过程。可以以打台球为例来说明这个问题。
打过台球的人都知道,如果没有一开始就进行过正规训练,他们通常都会以自己舒服的一种姿势打球。但当他们打到一定阶段,想要进一步提高时,他们会去寻求比较专业的人士的指点,而这些专业人士通常要他们做的第一件事情就是改变打球的姿势。他们如果照做的话,马上就会发现他们的水平出现了严重的下滑,以前很容易打进去的球现在怎么也打不进去了。在这个阶段,有的人经过一段时间的不断努力熬过去了,水平迅速得到了提高。有的人始终不能习惯下来,于是又回到了原来的打球姿势,水平最终停滞不前。
从面向过程和面向数据库建模向面向对象的转变存在同样的情况,会出现那么一个阶段,以前解决问题的方法全部不能用了,似乎也不知道如何去编程了。这个阶段的出现标志着真正思想转变的开始,我们应该为这个阶段的出现感到高兴。
如何尽快跨越这个阶段,这里有一些建议
1) 尽可能吃透面向对象的基本概念和理论,完成思想上的转变;
2) 研究和应用设计模式,特别要理解透设计模式的应用场景;
3) 研究优秀产品(开源和非开源的)的分析和设计思想。
就像软件开发过程中没有银弹一样,这个转变过程也不可能是一蹴而就的,关键是要先进行思想的转变,然后在实践中一点一滴地进行学习和修正,然后突然有一天,一切豁然开朗。
       Ps. 温昱在他的一篇文章中对这种对这种情形做了形象的描绘,有兴趣的请阅读见山只是山见水只是水——提升对继承的认识 
原创粉丝点击