程序设计分析(2)——面向对象与面向过程的分析
关于面向过程的一些分析:
首先是数据的维护问题,面向过程是过程话的,其数据和行为是分开的,所以你不知道哪个过程修改了这个数据,不知道哪个地方调用了这个数据,你无法对其进行控制,安全性,稳定性,可维护性就大大降低了。而且所有数据都是由系统来维护,这也增加了维护的难度。
然后对于面向过程的思想总是将某一个行为看成若干个过程组成,过程与过程之间就有因果关系,都联系在一起,属于紧耦合状态,一旦改变一个过程,则这个行为将会发生异常。
一般用过程化的思想去思考问题总是先思考有多少功能点,而不是先考虑有多少对象参与,他们各负责什么责任。用过程化的思想思考问题,则很有可能造成高耦合度的设计,因为功能点之间可能会重复,可能会相互调用,这样就会增加维护难度;而考虑多少对象时,其责任划分是明确的,是自己负责的事就做,不是就不做,各对象之间不耦合,只注重完成自己职责内的事情,增强了可读和可维护性。
经过这样的分析之后,对于面向对象的思想又进一步加深了,在思考问题的时候,不要先考虑他是什么过程,有哪些步骤,而是应该先思考它可能有哪些对象,找到对象后,弄清它的职责,这样,即使过程发生了变化,也只是协作的对象发生变化而已,不会导致整个过程崩溃。
在系统越来越复杂,越来越难管理的时代,要逐渐养成这样的面向对象的思维方式,从而更好的管理软件。