設計模式之普通工廠模式(Java實現版本)
阿新 • • 發佈:2018-11-08
工廠模式是設計模式中非常容易理解的模式之一。簡單來說,工廠模式就是替代new操作的一種方式,比如我們去飯店要茶水,工廠就像是服務員,只要告訴服務員我要茶水,服務員就會把茶壺拿來,而不需要我們自己去拿茶水(好比於在main方法中直接new Tea();)
接下來貼上例子,為了方便,把所有的程式碼都寫在了一個檔案中。
//首先建立一個介面 interface Animal { public void print(); } //建立一個Cat的類實現Animal介面 class Cat implements Animal { public void print() { System.out.println("貓"); } } //建立一個Dog的類實現Animal介面 class Dog implements Animal { public void print() { System.out.println("狗"); } } //建立一個Rabbit的類實現Animal介面 class Rabbit implements Animal { public void print() { System.out.println("兔子"); } }
建立完成相應的類後,就開始寫工廠類了,工廠的作用就是通過獲取到的資訊,返回相應的物件
//建立一個工廠類,根據給定的資訊生成具體的類的物件 class AnimalFactory { public Animal getAnimal (String animalType) { if ("cat".equals(animalType)) { return new Cat(); } else if ("dog".equals(animalType)) { return new Dog(); } else if ("rabbit".equals(animalType)) { return new Rabbit(); } else { return null; } } }
下面開始寫主方法
//通過傳遞不同的資訊(引數)給工廠來獲取不同的物件 public class FactoryDemo { public static void main(String[] args) { AnimalFactory factory = new AnimalFactory(); Animal cat = factory.getAnimal("cat"); cat.print(); Animal dog = factory.getAnimal("dog"); dog.print(); Animal rabbit = factory.getAnimal("rabbit"); rabbit.print(); } }