Java設計模式--工廠模式

在工廠模式中,我們在創(chuàng)建對象時不會對客戶端暴露創(chuàng)建邏輯,并且是通過使用一個共同的接口來指向新創(chuàng)建的對象。定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪個類,解決不同條件下創(chuàng)建不同的類。簡單實現(xiàn)如下:
1.創(chuàng)建接口

public interface Shape {
    void draw();
}

2.創(chuàng)建各種實體類


public class Triangle implements Shape{
    @Override
    public void draw() {
        System.out.println("draw Triangle");
    }
}

public class Circle implements Shape{
    @Override
    public void draw() {
        System.out.println("draw Circle");
    }
}

3.創(chuàng)建工廠類

public class ShapeFactory {
    public Shape getShape(String type){
        if(type == null)
            return null;
        switch (type){
            case "triangle":
                return new Triangle();
            case "circle":
                return new Circle();
             default:
                 return null;
        }
    }
}

4.測試類

public class FactoryDemo {
    public static void main(String[] args) {
        ShapeFactory factory = new ShapeFactory();
        Shape shape = factory.getShape("circle");
        shape.draw();
    }
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、工廠模式簡介 意圖定義一個創(chuàng)建對象的接口,讓其子類自己決定實例化哪一個工廠類,工廠模式使其創(chuàng)建過程延遲到子類進...
    怡紅快綠閱讀 657評論 0 0
  • 在java中,通常使用new操作符創(chuàng)建對象的實例。但是在一些情況下,new操作符直接生成對象會帶來一些問題,例如:...
    步積閱讀 953評論 2 3
  • 希望我七十歲生日那天還能吻你,這一吻,吻盡幾十年生命癡纏,吻回青春年少時光,吻去生死離別悲戚,這一吻,唯獨給你,用...
    禪司大人閱讀 243評論 0 0
  • 寬敞的院子里,擺放著幾張四方桌,桌上放著已烹制好的菜,只是奇怪,為什么全是泡腐竹跟大塊的紅燒肉,色澤金黃,點綴著幾...
    依夢成仙閱讀 278評論 0 0
  • 1、 這些天,一篇“患病妻子骨髓移植當天,配型成功的倆哥哥突然反悔,丈夫跪求岳父”的社會新聞引發(fā)網(wǎng)絡熱議。 妹妹查...
    亦心丫丫閱讀 1,040評論 0 0

友情鏈接更多精彩內容