參考網(wǎng)站
http://www.runoob.com/design-pattern/factory-pattern.html
什么是工廠模式?
工廠模式是Java中最常用的設計模式之一。這種模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方法。
在工廠模式中,我么你在創(chuàng)建對象時不會對客戶端暴露創(chuàng)建邏輯,并且是通過使用一個共同的接口來指向新創(chuàng)建的對象。
使用方法
定義一個創(chuàng)建對象的接口,讓其子類自己決定實例化哪一個工廠類,工廠模式使其創(chuàng)建過程延遲到子類進行。
步驟
創(chuàng)建一個接口
Toys.java 玩具類
public interface Toys {
public void print();
}
創(chuàng)建實現(xiàn)接口的實現(xiàn)類
Car.java 玩具車
public class Car implements Toys{
public void print(){
System.out.println("Car");
}
}
Sword.java 玩具劍
public class Sword implements Toys {
public void print(){
System.out.println("Sword");
}
}
創(chuàng)建一個工廠,生成基于給定字符串的實體類的對象
ToysFactory.java 玩具工廠類
public class ToysFactory {
public Toys getToy(String toysName){
if(toysName == "car")
return new Car();
else if(toysName == "sword")
return new Sword();
return null;
}
}
使用該工廠,給定字符串,生成對應的對象
Client.java 客戶端類
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
ToysFactory toysFactory = new ToysFactory();
Toys toys = toysFactory.getToy("sword");
toys.print();//輸出Sword
toys = toysFactory.getToy("car");
toys.print();//輸出Car
}
}