【大话设计模式】序章 — OOP的再理解
写在最前面——
作为一名游戏开发人员已经3年了,如今回顾《大话设计模式》这本书,发现对其中阐述的思想有了新的理解,姑且以此博客记录学习心得与感想。
序 面向对象编程
在最初编写程序的时候,我直觉地使用计算机过程逻辑来编写程序,这种思路实现的功能初期可以正常运行,随着项目的进行,需求的增多或变动,发现前期的功能愈发难以维护——1.愈发不适应于项目需求;2.过多的特殊处理导致难以观察跟踪变量。而这个时候就亟需一种可维护,可复用,可扩展,灵活性好的编程思路来指导,而这就是面向对象的编程思路。
可维护:修改功能时,只修改目标逻辑处代码;
可复用:已完成的逻辑代码,可多处复用;
可扩展:新增需求时,可直接加入新逻辑代码;
灵活性好:通过操作逻辑代码可实现多种需求。
以我之理解,以上的目标归根到底就是一个目的——解耦合。
何谓耦合?耦合度高了会有什么影响?
以书中印刷为例,如果印刷刻板为一个整块的话,那么如果修改书中内容,就要重做一个完整的刻板。但是使用活字印刷的话,只需要调整对应字格就好了。
所谓耦合度,其实就是逻辑代码之间相互依赖的程度,试想一下,若所有逻辑代码之间相互引用,所有变量相互操作,那么一旦需求发生修改,开发者就需要把所有的逻辑全部分析一遍,甚至全部推倒重写,若工程复杂的情况下,工作量可想而知。
且高耦合度下一般还有一个副作用——重复代码居多,如果重复代码中发现了一个共性问题,那么共享,开发者就需要把所有的重复代码全部修改一遍,如果遗漏了一处,那么就只能等BUG教做人了。
所以,使用封装、继承、多态的手段降低逻辑之间的相互依赖,便可以很大程度上避免上述的烦恼。
浙公网安备 33010602011771号