java設(shè)計模式:工廠模式
導(dǎo)語:Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡單易用兩個特征。下面我們來看看工廠模式,希望對大家有所幫助。
工廠設(shè)計模式
★ 場景和問題
面向接口編程是java編程中的大家所公認(rèn)的第一原則 接口很重要的一個功能:封裝隔離。 接口是功能塊或封裝塊的外觀。
Java程序開發(fā)講究面向接口編程,隱藏具體的`實(shí)現(xiàn)類,可是如何得到接口呢?
通過工廠來獲得接口。
工廠的本質(zhì)是“選擇實(shí)現(xiàn)”
工廠、接口和實(shí)現(xiàn)類之間的技術(shù)邊界:工廠只負(fù)責(zé)選擇實(shí)現(xiàn),實(shí)現(xiàn)類才做真正的實(shí)現(xiàn),
而接口是限定到底實(shí)現(xiàn)什么東西和返回什么東西,三者之間分工明確、各負(fù)其責(zé)。
接口:
1 2 3 4 5 | package cn.hncu.pattern.factory.dep; public interface Api { public String t(); } |
實(shí)現(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)前類的實(shí)例: 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è)計模式之單例模式11-23
解析Java的設(shè)計模式編程之解釋器模式的運(yùn)用11-23
Java的設(shè)計模式編程中責(zé)任鏈模式的運(yùn)用的實(shí)例講解12-01
該怎么使用Java設(shè)計模式編程中的OCP開閉原則?11-23
Java開發(fā)策略模式的簡單應(yīng)用實(shí)現(xiàn)方法11-30
PHP中的設(shè)計模式詳解08-15
C語言編程中使用設(shè)計模式中的原型模式的講解11-19