【Java】【設計模式】簡單工廠

簡單工廠模式

  1. 概述:簡單工廠用于根據需求,自動創建類。又叫做靜態工廠。
  2. 有點:客戶端不需要在負責對象的創建,從而明確了各個類的職責。(防止濫用)
  3. 缺點:這個靜態工廠負責所有對象的創建,如果有新的對象增加,侯喆某些對象的創建方式不同,就需要不斷的修改工廠類,不利于后期的維護。
    public class Demo {
        public static void main(String[] args) {
            // 獲取貓對象
            Cat $cat = (Cat) AnimalFactory.create("cat");
            $cat.eat();
        
            // 獲取狗對象
            Dog $dog = (Dog) AnimalFactory.create("dog");
            $dog.eat();
        }
    }
    
    /**
     * 動物抽象類的簡單工廠,專門負責創建Animal的子類
     */
    class AnimalFactory {
        public static Animal create(String $Name) {
            switch ($Name.toLowerCase()) {
                case "cat":
                    return new Cat();
                case "dog":
                    return new Dog();
                default:
                    return null;
            }
        }
    }
    
    abstract class Animal {
        abstract void eat();
        }
    
    class Cat extends Animal {
    
        @Override
        void eat() {
            System.out.println("貓吃魚");
        }
    }
    
    class Dog extends Animal {
    
        @Override
        void eat() {
            System.out.println("狗吃肉");
        }
    }
    
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容