设计模式(课外)
上一节
下一节
单例设计模式
单例模式[QL1] (Singleton Pattern)是 Java 中最简单的设计模式之一。该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
Ø 单例类只能有一个实例(构造方法私有化)。
Ø 单例类必须自己创建自己的唯一实例。
Ø 单例类必须给其他对象提供这一实例(创建get方法)。
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
主要解决:一个全局使用的类频繁地创建与销毁。
eg:资源管理器
工厂设计模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
主要解决:主要解决接口选择的问题。
如何实现[QL2] :让其子类实现工厂接口,返回的也是一个抽象的产品。
[QL2]优点:
1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。 3、屏蔽产品的具体实现,调用者只关心产品的接口。
缺点:每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。这并不是什么好事。