OO耳濡目染虽然很久了,但说道掌握还是不能得心应手地使用。待解决的问题千变万化,每个人对OO的理解对问题 的理解也是多种多样;“分析问题、解决问题”这个过程又没有统一定论,“具体问题具体分析”“灵活有效”,这使OO的难度加大(是一个智力游戏)。
反过来,从代码推到设计思想也是令人懊恼的事,你需要从平面的代码推导出一个立体的模型(而这个模型是否反映设计者当初的意图又得两说),以此看来,从分析设计推导到实现我们费了劲,从代码推导到设计(理解设计思想)又是个难题;OO的传播是如此的艰辛(虽然对OO的重要性没有人怀疑,但落到实处的运用就有困难了),运用得当又不是一朝一夕可以的;这个领域有争论也有定论,但是根本上没有降低我学习OO 的难度。并且一旦我作出了自认为不错设计以后是否可以验证它(设计验证)。。。
OO的目的是什么:降低成本(长期成本)、提高效率(重用);OO的代价是什么:痛苦而郁闷的学习过程,一堆堆的概念/准则,难以落到实地的示例,没有可以遵循的一个过程引导;所以OO是需要长期的理论学习和实践来逐渐掌握的,它不是一个大众化的东西。
现在觉得书可以分一下类:可以立即应用到项目中的,直接生产力(《java编程思想》),需要研究领会方可运用于实践的-间接生产力(《面向模式的软件体系结构》);技术类VS设计类;基础类(JVM/算法)VS应用类(Eclipse从入门到精通);教程类VS专题类;还有大师的著作。
反过来,从代码推到设计思想也是令人懊恼的事,你需要从平面的代码推导出一个立体的模型(而这个模型是否反映设计者当初的意图又得两说),以此看来,从分析设计推导到实现我们费了劲,从代码推导到设计(理解设计思想)又是个难题;OO的传播是如此的艰辛(虽然对OO的重要性没有人怀疑,但落到实处的运用就有困难了),运用得当又不是一朝一夕可以的;这个领域有争论也有定论,但是根本上没有降低我学习OO 的难度。并且一旦我作出了自认为不错设计以后是否可以验证它(设计验证)。。。
OO的目的是什么:降低成本(长期成本)、提高效率(重用);OO的代价是什么:痛苦而郁闷的学习过程,一堆堆的概念/准则,难以落到实地的示例,没有可以遵循的一个过程引导;所以OO是需要长期的理论学习和实践来逐渐掌握的,它不是一个大众化的东西。
现在觉得书可以分一下类:可以立即应用到项目中的,直接生产力(《java编程思想》),需要研究领会方可运用于实践的-间接生产力(《面向模式的软件体系结构》);技术类VS设计类;基础类(JVM/算法)VS应用类(Eclipse从入门到精通);教程类VS专题类;还有大师的著作。