问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样使用Java实现Factory设计模式

发布网友 发布时间:2022-05-12 05:25

我来回答

1个回答

热心网友 时间:2023-11-20 13:41

小弟不才,希望借此篇文章,让大虾们共同努力,整理出一份较为完整且容易理解的用Java实现的设计模式源码! /** * Design Pattern In Java * Name:Factory * 目的:利用工厂模式创建两个产品系列Mac和Win * Mac:MacRam,MacCpu * Win:WinRam,WinCpu * A:abstract * C:Concret * Author:blackphoenix * Modify Date:2002-08-17 */ /** * 抽象产品类 Ram Cpu */ abstract class AProctRam { public String getProct() { return this+" Proct"; } } abstract class AProctCpu { public String getProct() { return this+" Proct"; } } /** * 具体产品 MacRam,WinRam */ class CProctMacRam extends AProctRam { public String toString() { return "MacRam"; } } class CProctWinRam extends AProctRam { public String toString() { return "WinRam"; } } /** * 具体产品 MacCpu,WinCpu */ class CProctMacCpu extends AProctCpu { public String toString() { return "MacCpu"; } } class CProctWinCpu extends AProctCpu { public String toString() { return "WinCpu"; } } /** *生成一种新的产品系列时,接口改动的代码 */ /* class CProctNewRam extends AProctRam { public String toString() { return "NewRam"; } } class CProctNewCpu extends AProctCpu { public String toString() { return "NewCpu"; } } */ /** * 抽象工厂 AFactory */ interface AFactory { public AProctRam CreateProctRam(); public AProctCpu CreateProctCpu(); } /** * 具体工厂 CFactoryMac * 创建Mac产品系列 × MacRam MacCpu */ class CFactoryMac implements AFactory { public AProctRam CreateProctRam() { return new CProctMacRam(); } public AProctCpu CreateProctCpu() { return new CProctMacCpu(); } } /** * 具体工厂 CFactoryWin * 创建Win产品系列 × WinRam WinCpu */ class CFactoryWin implements AFactory { public AProctRam CreateProctRam() { return new CProctWinRam(); } public AProctCpu CreateProctCpu() { return new CProctWinCpu(); } } /** * 要生成一种新的产品系列时,对客户要派发一个新的产品工厂 * 同时要派生出一种新的具体产品 * CFactoryNew * NewMem,NewCpu */ /* class CFactoryNew implements AFactory { public AProctRam CreateProctRam() { return new CProctNewRam(); } public AProctCpu CreateProctCpu() { return new CProctNewCpu(); } } */ /** * 客户端 * 1.使用FactoryMac创建Mac系列产品:ProctMacRam,ProctMacCpu × 2.使用FactoryWin创建Win系列产品:ProctWinRam,ProctWinCpu * 3.只要知道CFactoryMac,CFactoryWin(具体工厂)和 * AProctRam,AProctCpu(抽象产品)即可,至于具体产品的创建 * 细节客户不用关心 */ class Factory { private static void printProct(String v) { System.out.println(v); } public static void main(String[] args) { AProctRam ProctMacRam=null,ProctWinRam=null; AProctCpu ProctMacCpu=null,ProctWinCpu=null; CFactoryMac FactoryMac=new CFactoryMac(); CFactoryWin FactoryWin=new CFactoryWin(); ProctMacRam=FactoryMac.CreateProctRam(); ProctMacCpu=FactoryMac.CreateProctCpu(); ProctWinRam=FactoryWin.CreateProctRam(); ProctWinCpu=FactoryWin.CreateProctCpu(); printProct(ProctMacRam.getProct()); printProct(ProctMacCpu.getProct()); printProct(ProctWinRam.getProct()); printProct(ProctWinCpu.getProct()); /** *生成一种新的产品系列时,客户端改动的代码 */ /* AProctRam ProctNewRam=null; AProctCpu ProctNewCpu=null; CFactoryNew FactoryNew=new CFactoryNew(); ProctNewRam=FactoryNew.CreateProctRam(); ProctNewCpu=FactoryNew.CreateProctCpu(); printProct(ProctNewRam.getProct()); printProct(ProctNewCpu.getProct()); */ } }
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 Android开发之Java设计模式有哪些? 乙炔钢瓶主阀怎么开 三星手机s6edge十微信语音有刮风的声音 为什么乙炔瓶阀门要完全拧开才不会漏气 天津人才引进政策实施后,买房需要哪些手续和材料? java的常用的设计模式有哪些 乙炔减压器的构造和工作原理 大连市引进人才落户怎么办理? 海南户口怎么申请 用手机在室外录制视频的时候,有风的时候呼噜呼噜响有什么好办法? 谁能告诉我气焊的操作步骤,还有气焊*的结构,每个阀门是干什么用的,谢谢!!! 新买的手机视频对面能听到刮风的声音是怎么回事? 求问乙炔瓶阀是什么? 乙炔瓶阀门上的两个压力表怎么看? 为什么发语音打电话没有人的声音只有刮风声呢? 听音乐的时候手机里面会出现刮风下雨的声音? 手机里面可以听到呼呼风声音是怎么回事,手机用着很正常,拿到耳朵边上就有一种特别微弱的声音 打电话对方听到好像刮风的声音,开了免提对方能听清楚咋回事? 帮我取一个与众不同的网名例如浓眉大眼女汉子 女汉子闺蜜网名3人字 手机打电话时有风声正常吗 Java设计模式技巧? 在用气割钢板的时候,乙炔瓶的总开关,顺方向是开还是关,谢谢 原子吸收乙炔气瓶的关闭步骤 乙炔气瓶关的时候步骤是什么呢,是先关分阀还是先还是先关总阀 去法国留学学历要求 macbookair打开WPS热 一本穿越到新中国初期小说,主角先是下乡黑龙江,俘虏了苏联侦察兵,然后理科第一名考上了北大,后来在 言情小说穿越到新中国 军事穿越小说,要穿越到新中国成立以后的,像【飞豹出击】这类的。 给我推荐几本像《大明1937》类似的穿越到二战的战争类的小说,最好穿越到中国的 求主角是外国人重生/穿越到中国,或中国人重生/穿越到外国的小说。 找一本小说,主角每次穿越都要消耗自己的血液的,穿越回新中国成立没多久的时候,可以来回穿的? 荷兰豆起麻点什么原因? 证券考试一年可以考几次? 民国纸币发行银行知多少 证券从业考试一年几次? 证券从业资格证考试一年考几次? 本年度还有几次证券从业资格考试 殷保华的书,――《民间股神》,炒股见不见效果? 民间股神殷保华有出过书吗?书名是什么,对于炒股的帮助有多大