1.1设计模式是什么
设计模式是系统服务设计中针对常见场景的一种解决方案,可以解决功能逻辑开发中遇到的共性问题。
因为设计模式是一种开发设计指导思想,每一种设计模式都是解决某一类问题的概念模型,所以在实际的使用过程中,不要拘泥于已经存在的固定代码格式,而要根据实际的业务场景做出改变。
正因为设计模式的这种特点,所以即使是同一种设计模式,在不同的场景中也有不同的代码实现方式。另外,即便是相同的场景,选择相同的设计模式,不同的研发人员也可能给出不一样的实现方案。
所以,设计模式并不局限于最终的实现方案,而是在这种概念模型下,解决系统设计中的代码逻辑问题。
1.2设计模式有哪些种类
按照不同的业务领域和场景的复杂程度,以及选择不同的设计模式,在整个系统设计落地中都会有不同的呈现模式。就像出行可以选择不同的交通工具一样,如近距离骑自行车、中短程驾车、远程乘坐飞机或高铁等。
即使有这样差异化的实现方式,也可以把设计模式按照其实现方式归为三类:
创建型模式:提供创建对象的机制,提升已有代码的灵活性和可复用性。
结构型模式:介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效。
行为模式:负责对象间的高效沟通和传递委派。
1.3如何学习设计模式
设计模式本身是一种指导思想,没有一种完全固定的实现方式,也不是已经落地的可参考的技术方案。要想学会设计模式,就需要从具体的实际案例入手,针对同一个需求,用不同的实现方式来实现。体会设计模式如何把一个类加if…else的实现方式优化为可扩展、易维护的服务模型。再通过多次练习和实操,把设计模式的思想学透、学懂。多加刻苦练习,最终才能在设计模式的基础上构建出更加合理的代码。