1. 程式人生 > >淺析JAVA設計模式之工廠模式(二)

淺析JAVA設計模式之工廠模式(二)

1.2 源碼 pub color post del tar pop south

1 工廠方法模式簡單介紹

工廠方法 (Factroy Method)模式:又稱多態性工廠模式(Polymorphic Factory),在這樣的模式中,核心工廠不再是一個詳細的類。而是一個抽象工廠,提供詳細工廠實現的接口,詳細創建產品交由子工廠去做,抽象工廠不涉及不論什麽產品被實例化的細節。

而不同等級的產品。就相應一個不同等級的工廠,例如以下圖。

技術分享

1

1.1工廠方法模式(多態性工廠模式):

工廠方法模式有四個角色: 1. 抽象產品接口 2. 詳細產品類 3. 抽象工廠接口 4.詳細工廠類

1.2工廠方法的實現(建一個factroyMethod包,全部程序都放在該包下):

(1)首先建一個抽象產品接口(Computer.java)。

package factroyMethod;
public interface Computer {
	public void run();
}

(2)建兩個詳細產品類(Dell.javaLenovo.java)。須要實現Computer接口。

package factroyMethod;
public class Dell implements Computer {
	public void run() {
		System.out.println("戴爾電腦執行了");
	}
}

package factroyMethod;
public class Lenovo implements Computer {
	public void run() {
		System.out.println("聯想電腦執行了");
	}
}

(3)建一個抽象工廠接口(ComputerFactory.java)。

package factroyMethod;
public interface ComputerFactory {
	public Computer makeComputer();
}

(4)建兩個個詳細工廠類(DellComputerFactory.java、LenovoComputerFactory.java)。

package factroyMethod;
public class DellComputerFactory implements ComputerFactory {
	public Computer makeComputer(){
		return new Dell();
}
}
package factroyMethod;
public class LenovoComputerFactory implements ComputerFactory {
	public Computer makeComputer(){
		return new Lenovo();
}
}

(5)建一個client程序(TestFactroyMethod.java)測試。

package factroyMethod;
public class TestFactroyMethod {
	public static void main(String []args)throws Exception{
		ComputerFactory computerFactory=
			new DellComputerFactory();
		Computer computer= computerFactory.makeComputer();
		computer.run();
	}
}

執行輸出:

戴爾電腦執行了

從輸出能夠看出,依據須要生成的詳細產品。調用相應的子工廠。即使產品添加了種類,僅僅要實現相應的工廠。而不須要改動工廠的源碼,工廠的登記相應著產品的等級,改進了簡單工廠模式的缺點。

(7)最後,我們再看一下工廠方法模式的UML圖。

技術分享


圖1.1 工廠方法模式


推薦文章:

淺析JAVA設計模式之工廠模式(一)

http://blog.csdn.net/minidrupal/article/details/38323341


Author: Vicky
Introduction:
教育工作者

Sign:
前事不忘。後事之師



淺析JAVA設計模式之工廠模式(二)