close

Simple Factory Pattern

Simple Factory模式又稱Static Factory模式。一個Simple Factory生產成品,而對客戶端隱藏產品產生的細節,物件如何生成,生成前是否與其它物件建立依賴關係,客戶端皆不用理會,用以將物件生成方式之變化 與客戶端程式碼隔離。

Factory Method模式在一個抽象類別中留下某個建立元件的抽象方法沒有實作,其它與元件操作相關聯的方法都先依賴於元件所定義的介面,而不是依賴於元件的實現, 當您的成品中有一個或多個元件無法確定時,您先確定與這些元件的操作介面,然後用元件的抽象操作介面先完成其它的工作,元件的實作(實現)則推遲至實現元件介面的子類完成,一旦元件加入,即可完成您的成品。簡單地說,如果您希望如何建立父類別中用到的物件這件事,是由子類別來決定,可以使用Factory Method...

Manner.java

public interface Manner {
	public void eatSomething() ;
}

Person.java

public class Person implements Manner {
	public void eatSomething() {
		System.out.println("Person eat something");
	}
	
}

Dog.java

public class Dog implements Manner {
	public void eatSomething() {
		System.out.println("Dog eat something");
	}
	
}

Cat.java

public class Cat implements Manner {
	public void eatSomething() {
		System.out.println("Cat eat something");
	}
}

MannerFactory.java

public class Cat implements Manner {
	public void eatSomething() {
		System.out.println("Cat eat something");
	}
}

Main.java

public class Main {
	public static void main(String[] args) {
		new MannerFactory().getEat("Person").eatSomething();
		new MannerFactory().getEat("Dog").eatSomething();
		new MannerFactory().getEat("Cat").eatSomething();
	}
}

結果如下:

Person eat something
Dog eat something
Cat eat something

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Codeless 的頭像
    Codeless

    Codeless的部落格

    Codeless 發表在 痞客邦 留言(0) 人氣()