- 相關(guān)推薦
java設(shè)計模式:工廠模式
導(dǎo)語:Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。下面我們來看看工廠模式,希望對大家有所幫助。
工廠設(shè)計模式
★ 場景和問題
面向接口編程是java編程中的大家所公認的第一原則 接口很重要的一個功能:封裝隔離。 接口是功能塊或封裝塊的外觀。
Java程序開發(fā)講究面向接口編程,隱藏具體的實現(xiàn)類,可是如何得到接口呢?
通過工廠來獲得接口。
工廠的本質(zhì)是“選擇實現(xiàn)”
工廠、接口和實現(xiàn)類之間的技術(shù)邊界:工廠只負責(zé)選擇實現(xiàn),實現(xiàn)類才做真正的實現(xiàn),
而接口是限定到底實現(xiàn)什么東西和返回什么東西,三者之間分工明確、各負其責(zé)。
接口:
1 2 3 4 5 | package cn.hncu.pattern.factory.dep; public interface Api { public String t(); } |
實現(xiàn)類:
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; /* 工廠類的命名規(guī)范: XXXFactory * 工廠方法的命名規(guī)范: 獲得當(dāng)前類的實例: getInstance(), newInstance(), 工廠類中生產(chǎn)接口: getXXXApi(),createXXXApi() */ public class ApiFactory { private ApiFactory(){ } public static Api getApi( int type){ if (type== 1 ){ return new Impl1(); } else { return new Impl2(); } } } |
【java設(shè)計模式:工廠模式】相關(guān)文章:
java設(shè)計模式:DAO模式08-18
java設(shè)計模式:多例模式08-12
java設(shè)計模式:裝飾模式07-08
JAVA設(shè)計模式之單例模式07-29
Java單例設(shè)計模式09-27
解析Java的設(shè)計模式編程之解釋器模式的運用05-19
Java的設(shè)計模式編程中責(zé)任鏈模式的運用的實例講解07-07
Java的結(jié)構(gòu)型模式07-09