面向对象这个词语,我觉得应该从三个方面来考虑。第一是它的概念。第二是它的实现方法,第三是它的目的。
概念大家都清楚,而它的实现也很简单,无非就是封装、继承和多态。它的目的是什么,前面已经有人提到了,就是如何从容的面对变化。程序员每天的生活就是面对变化、解决变化。
“面向对象”和“面向过程”孰优孰劣关键取决于项目的需求。一般来说,前期适合用面向过程的方式去解决用户的需求,然后到了项目后期,进行代码重构,一直到项目结束。在项目结束后,好好的总结一下,将以前的代码和设计拿出来仔细的看看,然后静心的想想还有哪些地方值得优化、哪里的设计还存在问题。这样做过几个项目的话,“面向对象”的思想也就差不多掌握了。
面向对象会衍生出“模式”,“模式”是将面向对象进一步封装。在特定的场合特定的需求下使用模式。四人帮的23种模式并非一成不变,他们只是前人经验的总结而已,根据自己项目的特点进行改造。 |