天天看點

單例模式(Singleton Pattern)案例解析

單例模式(Singleton Pattern)

定義:

確定一個類隻有一個執行個體,而且自行執行個體化并向整個系統提供這個執行個體。

類圖:

單例模式(Singleton Pattern)案例解析

案例描述: 公司裡面的所有員工共用一台列印機列印檔案。 列印機是全局唯一資源,可以用單例描述。

案例源碼:

/*
 * shsheng
 */
package DesignPatterns;

public class SingletonPattern {

    public static void main(String[] args) {
        Staff staff1=new Staff(1);
        Staff staff2=new Staff(2);
        staff1.print();
        staff2.print();
    }
    static class Printer{
        private static Printer instance;
        public static Printer getInstance(){
            if(instance==null){
                instance=new Printer();
            }
            return instance;
        }
        @Override
        public String toString(){
            return "列印機";
        }
    }
    static class Staff{
        int num;
        public Staff(int num){
            this.num=num;
        }
        public void print(){
            Printer printer=Printer.getInstance();
            System.out.println(this+"使用"+printer+"列印檔案!");
        }
        @Override
        public String toString(){
            return "員工"+num;
        }
    }

}
           

運作結果: 員工1使用列印機列印檔案!

員工2使用列印機列印檔案!

繼續閱讀