隨堂筆記160315工廠和代理模式

一、設計模式

1.工廠設計模式

class Fruit{}

class Apple extends Fruit{}

class Banana extends Fruit{}

class Orange extends Fruit{}

class FruitFactory{
    public static Fruit produceFruit(String name){
        if("香蕉".equals(name)){
            return new Banana();
        }
        if("蘋果".equals(name)){
            return new Apple();
        }
        if("橘子".equals(name)){
            return new Orange();
        }
        return null;
    }
}

class Test{
    public static void main(String[] args){
        Apple a = FruitFactory.produceFruit("蘋果");
        System.out.println(a);
    }
}

總結

  1. 以上是不完善的工廠模式,如果子類有20個,可以寫到你砸鍵盤
  2. 工廠設計模式是爲了將new對象的過程獨立出來,這樣就不會存在亂new對象的問題了

2.代理設計模式

interface NET{
    void connection();
}

class RealCon implements NET{
    public void connection(){
        System.out.println("連接成功");
    }
}

class ProxyCon implements NET{
    public static void railData(String username,String password){
        if("admin".equals(username)){
            if("admin".equals(password)){
                System.out.println("驗證成功");
                connection();
            }
        }

    }

    public void connection(){
        new RealCon().connection();
    }
}

總結:

  1. 代理設計模式是爲了分離核心代碼和次要代碼
  2. 分離後即使多箇中的一個出現問題,也不會影響到其他代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章