前言
之所以学习这本书,是因为我明显感觉到,我无法很好的组织复杂逻辑的项目代码——无论是日常项目还是公司msi框架和组件迭代中。尽管学习过工厂模式、状态模式、等诸多设计模式,但在实践中一直未能灵活应用。
看了这本书之后,对自己过去的实践产生许多反思,并在最近的一个数学游戏『远航时代』中验证实践,收获颇丰,在此分享,期待各位同学指点。
在这一篇读书笔记中,我更多的是阅读这本书之后,对自己过去实践的反思,并以自己作为案例供大家参照,以便交流学习。而不会对大家都已经熟悉的常用的设计模式作重复描述。
『远航时代』是一个数学课堂的游戏化教学工具,由梅沙书院与梅沙科技合作研发。在这个游戏中,玩家可以运营一家公司,运用数学方法,解决公司业务、经济危机、上市、关联交易等诸多事件中出现的问题。
正文
先提几个问题
- 为什么采用OOP(面向对象)?
- 即时回报还是长期回报?
- 是什么导致了重新设计(或重构)?
为什么采用OOP?
大家关于这一点,能提出很多,灵活性高、可复用性、可维护性、可扩展性强等等各种优点。但是,综合我大学四年、实习以及毕业后一年的工作经验来看,至少相当一部分人都没有真正了解OOP;或者并不认可OOP;或者不能真正实际应用OOP。一个很常见的实例:大家都在用laravel,都在讲MVC,但是