重学Java设计模式
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.2 为什么使用设计模式

首先,不使用设计模式的理由有很多,比如:

·这个需求很简单,不用设计模式一样可以实现;

·用设计模式浪费时间,无法满足工期要求;

·想不到用哪种设计模式,即使知道也不会用。

但如果是一位有追求的程序员,愿意看到自己的代码是一堆 if…else吗?如果每个模块的功能逻辑实现都是靠复制粘贴,功能上线后一旦出现Bug,很难及时发现和解决问题。

除了个人对代码质量追求的因素,还有业务快速发展和产品功能迭代的需求因素。如果程序没有经过良好的设计,只是为了应付一次紧急的需求而东拼西凑开发的,接下来的日子就是没日没夜地修修补补。

好的功能设计可以应对快速的需求迭代,在迭代开发的同时不需要大量改动代码。就像火车加一节车厢不需要改动整列火车,插线板可以支持随时插入各种功能插头,签字笔没墨水了可以更换笔芯等一样。对应这样的代码更像是有了一个标准接口,服务是可插拔的。整体的服务功能更像是定义好的机器,所有的功能逻辑都像插入的一个个模块。这样的编码方式就会变得非常易于维护,同时也符合设计模式的思想。设计模式本身来自建筑学,而编码逻辑按照建筑学的方式进行,也就满足了设计模式的基本原则:做出一个可扩展、易维护、好管理的工程代码。这就是为什么应该使用设计模式开发业务需求。