React.memo() --- 函式元件專有優化
阿新 • • 發佈:2021-06-22
簡單工廠
定義:定義一個建立物件的介面,讓其子類自己決定例項化哪一個工廠類,工廠模式使其建立過程延遲到子類進行。
使用場景:我們明確地計劃不同條件下建立不同例項時。
缺點:每次需要新增產品都需要修改工廠類,不符合開閉原則。
程式碼示例:
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就能完成建立的簡單物件,無需使用工廠模式。