一、设计模式原则
设计模式有7大设计原则:
1、开闭原则
开闭原则时面向对象编程中,最核心最基础的一个原则,所有的设计模式都围绕着这一个原则去实践。
2、里氏替换原则
里氏替换原则说的是如果使用了继承来进行功能扩展的话,不要再子类中更改父类已实现的方法,而是通过添加新的方法去扩展父类的功能。
3、依赖倒置原则
依赖倒置原则指的是我们要面向接口或者面向抽象编程,而不是直接面向实现细节编程。
4、单一职责原则
单一职责原则说的是类的职责要单一,也就是说一个类最好只负责一方面的事,比如表现层、业务层、持久层的职责就是单一的。
5、接口隔离原则
接口隔离原则说的是接口的功能要尽量的少,不要一个接口包含太多的功能。
6、迪米特法则(最少认知原则)
最少认知原则指的不和陌生人说话,即只和必要的人说话,通俗的讲就是降低类之间的耦合关系,例如,两个service之间不要互相调用,而是在controller中分别调用两个service分别进行处理。
7、合成复用原则
合成复用原则说的是能用组合或者聚合关系,就不使用继承。
二、设计原则归纳
这7种设计原则是软件设计模式必须尽量遵循的原则,各种原则要求的侧重点不同。其中:
【开闭原则】是总纲,它告诉我们要【对扩展开放,对修改关闭】;
【里氏替换原则】告诉我们【不要破坏继承体系】;
【依赖倒置原则】告诉我们要【面向接口编程】;
【单一职责原则】告诉我们【实现类要指责单一】;
【接口隔离原则】告诉我们【在设计接口时要精简单一】;
【迪米特法则】告诉我们要【降低耦合度】;
【合成复用原则】告诉我们要【有限使用组合或者聚合关系复用,少用继承关系复用】
三、设计模式分类
按照功能分类,可以分为23种三大类(还有按照类和对象来分组的,这里不再单独说明)。
1、创建型(5种):工厂模式、抽象工程模式、单例模式、原型模式、构建者模式
将对象的创建和对象的使用分离
工厂模式:批量生产(属性一致)
构建者模式:私人定制(属性不一致)
单例模式:只会生产一个产品
原型模式:给我一个对象,我会产生一样的对象
2、结构型:(7种):适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式
3、行为型(11种):模板方法模式、策略模式、观察者模式、中介者模式、状态模式、责任链模式、命令模式、迭代器模式、访问者模式、解释器模式、备忘录模式