面向对象的困难

      面向对象,听起来好像很简单。一切皆对象,只要开发时把所有东西都写到对象里,所有的功能都用对象来实现就可以了。其实不然,只是简单把所有的东西写入到对象里,其实知识在面向兑现的掩盖下做着面向过程的事情罢了。最有可能的结果就是,形成了一个庞大的对象,程序所有的功能,所有的模块全都封装到一个对象里,不仅仅是没有体现出面向对象的优点,还把程序弄得异常复杂和难懂,我想没有人愿意面对一个包含众多变量和函数,实现有上千或上万行的对象吧?还有一种极端就是把每个功能函数都封装到单个对象中,结果对象之间传递的信息量大增,也不能体现出面向对象的优势。

      其实,上面这些都表明了一个问题,就是面向对象中抽象的问题,不抽象固然不好,抽象过头也是不好的。如何进行抽象,并且是恰到好处的抽象呢?在工作的3年期间,从不抽象到过度抽象,以及现在的要考虑很长时候才敢下手,或者写完后还要经历几次修改的抽象后,感觉自己距离面向对象越来越近了,但是确始终触摸不到。思考了很长时间后,在翻看了thinking in uml的前几节后,终于明白了,自己缺少一个合适的方法论的指导,缺少一个有力的面向对象分析的工具。

      抽象是困难的,我们需要找到:

      1、一种把现实世界映射到对象世界的方法;

      2、一种从对象世界描述现实世界的方法;

      3、一种验证兑现对象世界行为是否正确反映了现实世界的方法。

下面,即将学习的uml和uml所代表的面向兑现分析设计的方法,能够帮助我们更好的完成这些工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值