设计模式六大原则:
1、开闭原则
具体就是对扩展开放,对修改关闭。即在程序需要扩展的时候,不能去修改原来的代码,而是用抽象类和接
口去进行扩展。
2、里式代换原则
里式代换原则((Liskov Substitution Principle LSP))是面向对象设计的基本原则之一,里式代换原则定义:基类可以出现的地方,子类一定可以出现。
3、依赖倒转原则
这是开闭原则的基础,具体就是:对接口编程,依赖于抽象而不依赖于具体实现。
4、接口隔离原则
具体就是:使用多个隔离的接口,比使用单个接口好,降低依赖,降低耦合。
5、迪米特法则(最少知道原则)
具体就是:一个实体应该尽量少的与其他实体之间相互作用,使系统功能模块相对独立。
6、合成复用原则
尽量使用合成、聚合的方式,而不是集成。
1、代理模式:动态代理(jdk代理、cglib代理)、静态代理。
2、工厂模式:简单工厂模式、工厂模式、抽象工厂模式
3、建造者模式:实际是多个工厂组合成一个复合对象
4、原型模式:实质是复制、克隆,分浅复制和深复制,深复制采用序列化实现。
5、适配器模式:分为类的适配器模式、对象的适配器模式、接口的适配器模式
6、装饰模式:类似静态代理模式?
7、外观模式:就是把多个类的操作组合到一个类中
8、模板方法模式:定义一个抽象类,里面有具体实现方法,有抽象方法,在具体实现方法中调用抽象方法,子类再去实现抽象方法。
9、观察者模式:发布/订阅