<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    vjame

    優化代碼是無止境的
    隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0
    數據加載中……

    單態模式和簡單工廠模式

    單態模式
     Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。
    在項目的很多地方都會用到它,比如說數據庫的鏈接。
    使用Singleton的好處還在于可以節省內存,因為它限制了實例的個數,有利于Java垃圾回收。

    1. 編寫代碼
    package com.strongit.singleton;


    class A {
        
    private static final A a = new A();
        
    public static A getSingleInstance(){
            
    return a;
        }
        
    public void say(){
            System.out.println(
    "hello");
        }
    }

    public class SingletonDemo {

        
    /**
         * 
    @param args
         
    */
        
    public static void main(String[] args) {
            
    // TODO Auto-generated method stub
                A a = A.getSingleInstance();
                a.say();
                System.out.println(A.getSingleInstance());

                System.out.println(A.getSingleInstance());
            
        }

    }

    2.運行結果
    hello...
    com.strongit.singleton.A@1c78e57
    com.strongit.singleton.A@1c78e57


    簡單工廠模式
    簡單工廠模式又叫靜態工廠模式,顧名思義,它是用來實例化目標類的靜態類。下面我主要通過一個簡單的實例說明簡單工廠及其優點。 

    package com.strongit.factory;


    //抽象汽車
    interface Car{
        
    public void run();
        
    public void stop();
    }

    //奔馳汽車
    class Benz implements Car{
        
    public void run() {
            System.out.println(
    "BMW run ");
        }

        
    public void stop() {
            System.out.println(
    "BMW stop  ");
        }
    }

    //福特汽車
    class Ford implements Car{

        
    public void run() {
            System.out.println(
    "Ford run ");
        }
        
    public void stop() {
            System.out.println(
    "Ford stop ");
        }
        
    }

    //工廠幫助客服返回實例化對象
    class Factory{
        
    public static Car getCarInstance(String type){
            Car car 
    = null;
            
    try {
                
    //java反射機制
                car = (Car)Class.forName("com.strongit.factory."+type).newInstance();
            } 
    catch (InstantiationException e) {
                e.printStackTrace();
            } 
    catch (IllegalAccessException e) {
                e.printStackTrace();
            } 
    catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            
    return car;
        }
    }


    //客服端調用
    public class FactoryDemo {

        
    public static void main(String[] args) {
            String type 
    = "Ford";
            Car car 
    = Factory.getCarInstance(type);
            
    if(car == null){
                System.out.println(
    "error ");
            }
    else{
                car.run();
            }
        }
    }

    posted on 2008-10-30 16:47 lanjh 閱讀(298) 評論(0)  編輯  收藏 所屬分類: 設計模式


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲综合自拍成人| 国产av天堂亚洲国产av天堂 | 一个人在线观看视频免费| 亚洲黄色在线电影| 91成人在线免费观看| 亚洲高清在线观看| 99re6在线精品视频免费播放| 亚洲AV无码专区亚洲AV伊甸园| a毛片在线免费观看| 麻豆国产VA免费精品高清在线| 精品亚洲视频在线观看 | 久久成人无码国产免费播放| 免费观看成人毛片a片2008| 亚洲人成图片网站| 国产大片51精品免费观看| 理论秋霞在线看免费| 久久天天躁狠狠躁夜夜免费观看| 色噜噜亚洲男人的天堂| 国内精品一级毛片免费看| 亚洲伊人久久大香线蕉苏妲己| 5555在线播放免费播放| 亚洲精品无码专区久久同性男| 亚洲AV成人一区二区三区在线看| 欧美在线看片A免费观看| 看亚洲a级一级毛片| 亚洲综合区小说区激情区 | 日本一区二区在线免费观看| 亚洲日韩av无码| 极品美女一级毛片免费| 久久精品国产精品亚洲精品| 国产91免费在线观看| 国产精品亚洲一区二区在线观看| 亚洲国产日韩在线观频| 久久久久成人片免费观看蜜芽 | 男女一边摸一边做爽的免费视频 | 久久久久噜噜噜亚洲熟女综合| 成人爽a毛片免费| 中文国产成人精品久久亚洲精品AⅤ无码精品| 亚洲国产亚洲综合在线尤物| 色吊丝永久在线观看最新免费| 成人免费区一区二区三区|