導語:Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。下面我們來看看工廠模式,希望對大家有所幫助。
工廠設計模式
★ 場景和問題
面向介面程式設計是java程式設計中的大家所公認的第一原則 介面很重要的一個功能:封裝隔離。 介面是功能塊或封裝塊的外觀。
Java程式開發講究面向介面程式設計,隱藏具體的實現類,可是如何得到介面呢?
通過工廠來獲得介面。
工廠的本質是“選擇實現”
工廠、介面和實現類之間的`技術邊界:工廠只負責選擇實現,實現類才做真正的實現,
而介面是限定到底實現什麼東西和返回什麼東西,三者之間分工明確、各負其責。
介面:
12345 | package ; public interface Api { public String t(); } |
實現類:
123456789101112 | package ; import ; public class Impl1 implements Api{ @Override public String t() { return "Impl1" ; } } |
123456789101112 | package ; import ; public class Impl2 implements Api{ @Override public String t() { return "Impl2" ; } } |
工廠:
12345678910111213141516171819202122 | package ; import 1; import 2; /* 工廠類的命名規範: XXXFactory * 工廠方法的命名規範: 獲得當前類的例項: getInstance(), newInstance(), 工廠類中生產介面: getXXXApi(),createXXXApi() */ public class ApiFactory { private ApiFactory(){ } public static Api getApi( int type){ if (type== 1 ){ return new Impl1(); } else { return new Impl2(); } } } |