设计模式(二)
设计模式(二)
一、单例模式
单例类只能有一个实例、单例类必须自己创建自己的唯一实例、单例类必须给所有其他对象提供这一实例。
关键代码:就是构造函数私有。
1.2、具体实现:
首先创建一个单列类,在类中,自己先把对象创建出来,将构造函数私有化,这样就不会被实例化,提供一个获取方法,让其他方法可以获取。
当我想获取的时候。
这样就可以保证无论多少个类,去获取实例对象,内存对象中都是那一个对象。
1.3、实现方式。
懒汉式,线程不安全。懒汉式的意思就是先不new出来,在获取方法里判断一下,为空,我再创建。线程不安全就是我没有加锁,安全就是加上锁。
加上锁
3、饿汉式
饿汉式就是直接常见出来,类一加载,就创建了。不需要加锁,也不会有并发问题,懒汉式,不加锁有可能有并发问题。
4、双检锁
这种方式安全,且在多线程的情况下能保持高性能。
二、工厂模式
工厂模式在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
工厂模式是让类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行
可以解决接口选择的问题。
其实工厂模式就是,我写几个类,然后我在写个工厂类,工厂里面是有一个获取方法,我通过判断参数,返回不同的类。我使用工厂的时候,只要用它的获取方法,传入我想要的类的名称就行了