- 相關推薦
java設計模式:工廠模式
導語:Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。下面我們來看看工廠模式,希望對大家有所幫助。
工廠設計模式
★ 場景和問題
面向接口編程是java編程中的大家所公認的第一原則 接口很重要的一個功能:封裝隔離。 接口是功能塊或封裝塊的外觀。
Java程序開發講究面向接口編程,隱藏具體的實現類,可是如何得到接口呢?
通過工廠來獲得接口。
工廠的本質是“選擇實現”
工廠、接口和實現類之間的技術邊界:工廠只負責選擇實現,實現類才做真正的實現,
而接口是限定到底實現什么東西和返回什么東西,三者之間分工明確、各負其責。
接口:
1 2 3 4 5 | package cn.hncu.pattern.factory.dep; public interface Api { public String t(); } |
實現類:
1 2 3 4 5 6 7 8 9 10 11 12 | package cn.hncu.pattern.factory.dep.impl; import cn.hncu.pattern.factory.dep.Api; public class Impl1 implements Api{ @Override public String t() { return "Impl1" ; } } |
1 2 3 4 5 6 7 8 9 10 11 12 | package cn.hncu.pattern.factory.dep.impl; import cn.hncu.pattern.factory.dep.Api; public class Impl2 implements Api{ @Override public String t() { return "Impl2" ; } } |
工廠:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | package cn.hncu.pattern.factory.dep; import cn.hncu.pattern.factory.dep.impl.Impl1; import cn.hncu.pattern.factory.dep.impl.Impl2; /* 工廠類的命名規范: 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(); } } } |
【java設計模式:工廠模式】相關文章:
JAVA設計模式之單例模式07-29
Java的設計模式編程中責任鏈模式的運用的實例講解07-07
教學設計模式的類型09-13
該怎么使用Java設計模式編程中的OCP開閉原則?06-29
Java開發策略模式的簡單應用實現方法09-25
淺談教學設計的模式范文09-24