1.设计模式的六大原则
1、开闭原则
开闭原则的意思是:对扩展开放,对修改关闭。我们需要使用接口和抽象类。
2、里氏代换原则
任何基类可以出现的地方,子类一定可以出现。基类与子类的继承关系就是抽象化的具体实现。
3、依赖倒转原则
针对接口编程,依赖于抽象而不依赖于具体。
4、接口隔离原则
使用多个隔离的接口,比使用单个接口要好。降低类之间的耦合度。
5、迪米特法则,又称最少知道原则
一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。
6、合成复用原则
合成复用原则是指:尽量使用合成/聚合的方式,而不是使用继承。
2.工厂方法
工厂方法让一个类的实例化延迟到子类中进行
解耦:把对象的创建和使用的过程分开
降低代码重复:如果创建某个对象的过程都很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码。
降低维护成本:由于创建过程都由工厂统一管理,所以发生业务逻辑变化,不需要找到所有需要创建某个对象的地方去逐个修正,只需要在工厂里修改即可,降低维护成本。
https://www.runoob.com/design-pattern/factory-pattern.html
3.抽象工厂方法
是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。
抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。
3.单例模式
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。
饿汉就是类一旦加载,就把单例初始化完成,保证getInstance的时候,单例是已经存在的了。多线程安全,类加载时就初始化,浪费内存。
懒汉比较懒,只有当调用getInstance的时候,才回去初始化这个单例。多线程不安全,但是可以通过synchronized 来实现线程安全,但是一般不用。第一次调用才初始化,避免内存浪费。