设计模式的原则,设计模式究竟是什么
2021年3月4日 19:26
大家好,我是流沙。设计模式是每个程序员都会经常接触到的东西,但是相信很多人对于设计模式究竟是什么还会有些疑问。所以,我们今天就聊聊这个,主要目标是帮大家理解设计模式的作用,以及要用什么样的心态对待设计模式。
前置知识
提到设计模式,其实首先需要理解清楚的是面向对象思想。相信大家即使不能非常清晰的描述出来,对面向对象也应该是比较熟悉的。
我们就快速讲一下,面向对象有四大基本特性:封装、抽象、继承、多态;
封装:仅暴露有限的接口,授权外部来访问。将逻辑集中,因此更可控;可读性、可维护性也更好;易用性也更好。
抽象:隐藏方法的具体实现,让调用者只需要关心方法提供了哪些功能,并不需要知道这些功能是如何实现的。
继承:好处就是代码复用。
多态:子类可以替换父类。提高代码的可扩展和可复用性。
什么是设计模式
设计模式是针对软件开发中经常遇到的一些设计问题,根据基本的设计原则,总结出来的一套实用的解决方案或者设计思路。
可以看到,设计模式是非常偏实际应用的,相比设计原则更加具体、可执行。
因此,在了解设计模式之前,就需要了解一些基本的设计原则。这些原则才是指导我们写出好代码的关键。
那么什么是好代码呢?
好代码的标准
这个其实很难描述,我们可以试着归纳一些好代码的特征,比如下面这些:
可维护、可扩展、可读、可测、可复用、简洁。
为了达到这些标准,就需要现有一些基本的设计原则。
基本设计原则
SOLID
单一职责 Single Responsibility Principle
描述很简单,一个类只负责完成一个职责或者功能。但是实际要做好其实还是很难的。
关于怎么样才算职责单一,可以定出一些简单的标准,比如代码行数过多;依赖的其他类过多;私有方法过多;难以给类起名;类中大量方法功能集中等。但是无法定义出一个普适的标准,一定要结合实际情况去考虑。
比如这样一个类