论方法和对象对于模块化以及模块自由编排的区别
面向对象思想如果运用的好,可以做到很好的模块化,进而可以很自由的编排对象,然后通过对象的方法实现一个更宏大的功能;
那么问题来了,难道面向方法或者叫做面向过程编程,就不能做到吗?
答案是当然可以做到,前提是你对方法进行很好的粒度抽象和实现;
这种在面向过程中对函数进行粒度很细的抽象定义和实现,其实是一种纵向的隔离,这种隔离起到了隔离不同方法的目的;
在面向对象中对一堆方法进行聚合到一个对象中,其实是一种横向的隔离,这种隔离起到了隔离不同的对象的目的;
但是,在隔离之后的运用上,都是可以实现很好的模块化和模块的自由编排;
不过,由于面向对象更加符合我们的认知习惯和建模习惯,因此采用此思想会更容易和维护构建更宏大的系统;