一、簡單工廠模式解釋:
簡單工廠模式(Simple Factory Pattern)屬于類的創(chuàng)新型模式,又叫靜態(tài)工廠方法模式(Static FactoryMethod Pattern),是通過專門定義一個類來負責創(chuàng)建其他類的實例旅敷,被創(chuàng)建的實例通常都具有共同的父類。
二、簡單工廠模式的UML圖:
簡單工廠模式中包含的角色及其相應(yīng)的職責如下:
工廠角色(Creator):這是簡單工廠模式的核心,由它負責創(chuàng)建所有的類的內(nèi)部邏輯窿撬。當然工廠類必須能夠被外界調(diào)用,創(chuàng)建所需要的產(chǎn)品對象叙凡。
抽象(Product)產(chǎn)品角色:簡單工廠模式所創(chuàng)建的所有對象的父類劈伴,注意,這里的父類可以是接口也可以是抽象類握爷,它負責描述所有實例所共有的公共接口跛璧。
具體產(chǎn)品(Concrete Product)角色:簡單工廠所創(chuàng)建的具體實例對象,這些具體的產(chǎn)品往往都擁有共同的父類新啼。
三追城、代碼實現(xiàn)
抽象產(chǎn)品:
public interface IApi {
void show();
}
具體產(chǎn)品:
public class AndroidApi implements IApi{
public void show() {
System.out.println("這是Androidapi");
}
}
public class IOSApi implements IApi{
public void show() {
System.out.println("這是IOSAPI");
}
}
抽象產(chǎn)品工廠:
public interface IFactory {
IApi create();
}
具體產(chǎn)品工廠:
public class AndroidFactory implements IFactory{
public IApi create() {
return new AndroidApi();
}
}
public class IOSFactory implements IFactory{
public IApi create() {
return new IOSApi();
}
}
調(diào)用端代碼:
public class Client {
public static void main(String[] args) {
IFactory factory = new AndroidFactory();
factory.create().show();
}
}
介紹完畢