设计思想
-
天天加班编程,编程到底都做的是什么?
撸代码,加班撸代码,写接口、写类、写方法 -
用设计模式或做设计的作用是什么?
指导、规定如何撸代码,如何来写接口、写类、写方法 -
为什么要做设计、用设计模式?
代码会变,为应对变化,为了以后方便扩展
做到以不变应万变,做一个会偷懒的程序员
软件界永恒的真理:不变的是变化!
设计模式思想中最重要的一点:区分变和不变!
然后搞清楚会如何变,我们需要如何固定不变的,并隔绝变的。不同的变化方式对应不同的设计模式。
OOP回顾:
- 类:模拟现实,封装数据与代码
- 接口:隔离变化,定义功能使用者和功能提供者的接口,两者通过接口相联系
- 抽象类:包容不变与变的
- 封装、继承、多态:一种实现变化的方式
- 类与类的关系:继承(类2继承类1)、组合(类2持有类1的实例,类2使用类1)
设计原则
-
找出变化,分开变化和不变的
隔离、封装变化的部分,让其他部分不受它的影响 -
面向接口(抽象)编程
隔离变化的方式。使用者使用接口,提供者实现接口。接口可以是超类! -
依赖倒置原则
隔离变化的方式。依赖抽象,不依赖具体类! -
对修改闭合,对扩展开放
隔离变化的方式。 -
多用组合,少用继承
灵活变化的方式。“有一个”可能比“是一个”更好。 -
单一职责原则
方法设计原则。对方法来说,每个方法只负责一个事情!