常用的设计模式

设计模式有23种。

一、工厂模式:工厂模式是由一个具体的类去创建其他类的实例,父类是相同的,父类是具体的。

二、工厂方法模式:工厂方法模式是有一个抽象的父类定义公共接口,子类负责生成具体的对象,这样做的的墓地是将类的实例化操作延迟到子类中完成。

三、单例模式:单例模式分三种,而单例模式要具备三个特点。1.单例类只能有一个实例 2.单例类必须自己创建自己的唯一实例 3.单例类必须给所有其他对象提供这一实例

  1、懒汉

  

public class Singleton {  
    private Singleton() {}  
    private static Singleton single=null;  
    //静态工厂方法   
    public static Singleton getInstance() {  
         if (single == null) {    
             single = new Singleton();  
         }    
        return single;  
    }  
}  

  懒汉式单例的实现没有考虑线程安全问题,它是线程不安全的,要实现线程安全要加同步锁synchronized。用静态内部类更好一些。

  2、饿汉

  

public class Singleton1 {  
    private Singleton1() {}  
    private static final Singleton1 single = new Singleton1(); 
    public static Singleton1 getInstance() {  
        return single;  
    }  
}  

  饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以天生是线程安全的。

  3、登记式(了解)

扫描二维码关注公众号,回复: 176887 查看本文章

猜你喜欢

转载自www.cnblogs.com/dameimao/p/9008556.html