1. 程式人生 > >簡單工廠模式的實現

簡單工廠模式的實現

alt 枚舉 .get interface pan 方法 bsp spa 模式

枚舉+反射實現簡單工廠模式

定義接口:

public interface IAnimal {
    public void eat();
}

具體類:

public class Pig implements IAnimal {
    public void eat() {
        System.out.println("pig eat");
    }
}

public class Dog implements IAnimal {
    public void eat() {
        System.out.println(
"dong eat"); } }

枚舉類,設置類對應的類名:

public enum AnimalType {
    DOG("Dog"),
    PIG("Pig");
    private String value;

    private AnimalType(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }
}

工廠類:

public class
SimpleFactory { public static IAnimal getInstance(AnimalType animalType) { IAnimal animal = null; try { animal = (IAnimal) Class.forName(animalType.getValue()).newInstance(); } catch (Exception e) { System.out.println(e.getMessage()); }
return animal; } }

測試案例:

public class SimpleFactoryTest {
    public static void main(String[] args) {
        IAnimal dog = SimpleFactory.getInstance(AnimalType.DOG);
        dog.eat();
        IAnimal pig = SimpleFactory.getInstance(AnimalType.PIG);
        pig.eat();
    }
}

運行結果:

技術分享圖片

後續有更好的方法會繼續更新。

簡單工廠模式的實現