1. 程式人生 > 其它 >Vim配置,告別一片黑白

Vim配置,告別一片黑白

簡單工廠

定義:定義一個建立物件的介面,讓其子類自己決定例項化哪一個工廠類,工廠模式使其建立過程延遲到子類進行。

使用場景:我們明確地計劃不同條件下建立不同例項時。

缺點:每次需要新增產品都需要修改工廠類,不符合開閉原則。

程式碼示例:

public interface Shape {

    void draw();
}
public class Circle implements Shape {
    @Override
    public void draw() {
        System.out.println("我會畫");
    }
}
public class Rectangle implements Shape {
    @Override
    public void draw() {
        System.out.println("我會畫矩形");
    }
}
public class Square implements Shape {
    @Override
    public void draw() {
        System.out.println("我會畫正方形");
    }
}
public class ShapeFactory {

    public static Shape getShape(String shapeType){
        if(shapeType==null){
            return null;
        }else if("CIRCLE".equalsIgnoreCase(shapeType)){
            return new Circle();
        }else if("SQUARE".equalsIgnoreCase(shapeType)){
            return new Square();
        }else if("RECTANGLE".equalsIgnoreCase(shapeType)){
            return new Rectangle();
        }
        return null;
    }
}
public class FactoryDemo {

    public static void main(String[] args) {
        ShapeFactory.getShape("circle").draw();
    }
}

注意事項:作為一個建立類模式,任何在建立複雜物件的地方,都可以使用這個模式。而只需要new就能完成建立的簡單物件,無需使用工廠模式。