设计模式的六大原则:
1、开闭原则
对扩展开放,对修改关闭。用到接口和抽象类。实现热插拔,提高扩展性。
2、里氏代换原则
对实现抽象化的具体步骤的规范。任何基类可以出现的地方,子类一定可以出现。实现父子类互相替换。
3、依赖倒转原则
是开闭原则的基础,针对接口编程,依赖于抽象而不依赖于具体。
4、接口隔离原则
1、使用多个隔离的接口,比使用单个接口要好。
2、降低类之间的耦合度。
5、迪米特法则,又称最少知道原则
一个实体应当尽量少地与其它实体之间发生相互作用,使得系统功能模块相对独立。
6、合成复用原则
尽量使用合成/聚合的方式,而不是使用继承。
创建型模式——>对象怎么来
结构型模式——>对象和谁有关
行为型模式——>对象与对象在干嘛
J2EE模式——>对象合起来要干嘛
1、工厂模式
在创建对象时不会对客户端暴露创建逻辑,并且时通过使用一个共同的接口来指向新创建的对象。
2、抽象工厂模式
围绕一个超级工厂创建其它工厂,该超级工厂又称为其它工厂的工厂。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显示指定他们的类。每个生成的工厂都能按照工厂模式提供对象。
3、单例模式
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其位移的对象的方式,可以直接访问,不需要实例化该类的对象。
单例模式的几种实现方式:
1、懒汉式,线程不安全
2、懒汉式,线程安全
3、饿汉式
4、双检锁/双重校验锁
5、登记式/静态内部类
6、枚举