设计模式(二)

设计模式(二)

一、单例模式

  单例类只能有一个实例、单例类必须自己创建自己的唯一实例、单例类必须给所有其他对象提供这一实例。

  关键代码:就是构造函数私有。

1.2、具体实现:

    首先创建一个单列类,在类中,自己先把对象创建出来,将构造函数私有化,这样就不会被实例化,提供一个获取方法,让其他方法可以获取。

    

当我想获取的时候。

  

这样就可以保证无论多少个类,去获取实例对象,内存对象中都是那一个对象。

1.3、实现方式。

  懒汉式,线程不安全。懒汉式的意思就是先不new出来,在获取方法里判断一下,为空,我再创建。线程不安全就是我没有加锁,安全就是加上锁。

  

加上锁

3、饿汉式

  饿汉式就是直接常见出来,类一加载,就创建了。不需要加锁,也不会有并发问题,懒汉式,不加锁有可能有并发问题。

  

  4、双检锁

  这种方式安全,且在多线程的情况下能保持高性能。

  

二、工厂模式

  工厂模式在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

  工厂模式是让类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行

  可以解决接口选择的问题。

  

 

其实工厂模式就是,我写几个类,然后我在写个工厂类,工厂里面是有一个获取方法,我通过判断参数,返回不同的类。我使用工厂的时候,只要用它的获取方法,传入我想要的类的名称就行了

posted @ 2020-11-19 15:59  springcode  阅读(62)  评论(0编辑  收藏  举报