2010-05-04

     面向过程的产生是人们从机器的角度去思考的,因为机器语言的发展阶段,面向过程是必须的。就像中国的制度演变一样。什么年代产生什么制度。只不过现在面向对象成了霸主。面向过程也曾经是霸主。但是面向过程必定会被淘汰,因为他不能灵活的去修改需求所产生的代码变更。前两天在做一个项目,从中体会到了面向对象的好处。用来证明面向对象终究要替代面向过程:
 
     修改数据库中的东西,如果面向过程的话,需求产生了变更。那么就要修改这一条主线。太麻烦。早就看过抽象工厂加反射,看懂了,但是不知道怎么用。前两天实际应用了一下。和现在进行对比。运用三层架构。当需求的变更需要修改数据库表的时候,也就等于修改了entity层,idal层,dal层,dalfactory层的代码。这样修改量就只修改了一半。而且这样的好处还有一点就是这一条主线还是那么固定的。面向对象的架构还有设计模式那么多。我只理解了这么一点。面向对象的产生必定要取代面向过程。
 
     良禽择木,有了面向对象这么好的设计理念,为么不好好珍惜并拥有这个优木呢?


     为什么需要UML?
     当看见这句话的时候有了那么点想法。第一,面向对象替代了面向过程设计方法。UML是基于面向对象的设计语言。第二:rose的可视化。UML(大象中以rose为载体的。)试想一下,让你看需求文档还有让你看由rose或者EA设计的图来分别进行开发。我相信所有的人都会选择图来作为参考的。“一幅图顶过千言万语”。图算是对文档的一个补充性开发需求。

     面向过程需要将过程中所经过的因素都找出来。这一点就不符合世界的规则。变是不变的,世界上事物本来就是在变化着的。我们周围的事物也在变化着,有的时候太细小,难以在一个固定的时间段内有明显的变化。在软件设计领域中,软件是以用户的需求为驱动的。用户的需求也不可能是一成不变的。当用户的需求产生变化的时候,这一个过程多数面临的也就是失效的悲剧。这也必定会是面向过程设计方法被面向对象设计方法取代的原因。

     在面向对象中,万物是以一个个的对象存在的。在没有事件流传递到对象的时候,对象就是静止的。在软件设计中,我们就直接在对象直接进行传递,需要什么对象创建什么对象,并产生事件的传递。当我们发现在里面应该有别的对像进行参与的时候,我们只需要向里面添加对象就可以了。数组和集合就是这样么。在内存中的机制,数组如果有十个元素,你向第二个位置添加新的元素和向集合中添加新的元素的效果的不同。就像这里。因为他们是灵活的,不是固定的。过程按照标准的流程执行,而对象则不是,用什么产生什么就可以了。

     面向过程有错么?面向过程就是错误的么?不是的,只不过他实在适应不了这种大的系统的需求变更。适应不了数据的变更。面向对象就是绝对的真理么?不是的。毕竟当某天有了更好的设计方法的时候,面向对象也终究被取代。记得旺旺老师曾经说过:我们学习软件设计中思考的是我们学习什么什么样的新方法,而james gosling(JAVA创始人)他们想的是什么呢?他们想的是我要开发一种新的软件,新的设计方法来解决现在其中的困难。这也正警示我们一种道理:当我们遇到问题的时候,首先要百度一下有没有别人遇到过这种问题,看人家是怎么解决的(站在巨人的肩膀上)。如果没有人遇到过这种情况,我们所要做的是想办法去解决问题,而不是向问题屈服。只有这样,才会迎来进步,发生量变。当量变产生了并且堆砌的足够的时候,才会产生质变。就是靠着这些质变来推动软甲领域还有社会来发展的。要知道,没有任何一个真理是对的,他都有被推翻的时候。没有绝对的真理,不过他现在实行现在人们的认识观念罢了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值