简单工厂模式
又称为"静态工厂方法模式"
- 工厂类负责创建某些类的实例!
- 优点:
客户端不需要在负责对象的创建,从而明确了各个类的职责 - 弊端:
如果有新的类增加,需要在工厂类中定义静态方法产生该类的实例,不利于后期维护!代码量要增加!
工厂方法模式
- 特点:抽象类或者接口(更抽象),具体类的创建需要对应的工厂类来创建.
- 优点:
客户端不需要在负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的 工厂类即可,不影响已有的代码,后期维护容易,增强了系统的扩展性 - 弊端:一旦有的新的类增加,还需要有对用的工厂接口/工厂类 来创建该类的实例!代码量大了
单例模式
在加载某个类的时候,就已经创建该类的对象,自动创建,对外公共访问方法来获取该类实例;在内存中始终产生一个对象
-
饿汉式:加载当前类的时候,就已经在内存中创建该类对象!
-
懒汉式:加载该类的时候,需用到的时候在去创建对象(可能出现问题的单例模式)
1)懒加载
2)延迟操作 -
优点:
在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系 统的性能。 -
缺点:
没有抽象层,因此扩展很难。 职责过重,在一定程序上违背了单一职责。
23种设计模型
- 创建型模式:简单工厂模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式,单例模式。(6个)
- 结构型模式:外观模式、适配器模式、代理模式、装饰模式、桥接模式、组合模式、享元模式。(7个)\
- 行为型模式:模版方法模式、观察者模式、状态模式、职责链模式、命令模式、访问者模式、策略模式、备
忘录模式、迭代器模式、解释器模式。(10个)