首页 工厂模式-单例模式案例实验报告

工厂模式-单例模式案例实验报告

举报
开通vip

工厂模式-单例模式案例实验报告软件设计与体系结构实验报告软件设计与体系0920116课程名称课程编号结构实验项目名称工厂模式,单例模式案例学号班级姓名专业学生所在学院指导教师实验室名称地点实验时间实验名称:工厂模式,单例模式模式案例实验目的:工厂单例模式(ObserverPattern)是设计模式中行为模式的一种,它解决了上述具有一对多依赖关系的对象的重用问题。此模式的参与者分为两大类,一类是被观察的目标,另一类是观察该目标的观察者们。正因为该模式是基于“一对多”的关系,所以该...

工厂模式-单例模式案例实验报告
软件 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 与体系结构实验报告软件设计与体系0920116课程名称课程编号结构实验项目名称工厂模式,单例模式案例学号班级姓名专业学生所在学院指导教师实验室名称地点实验时间实验名称:工厂模式,单例模式模式案例实验目的:工厂单例模式(ObserverPattern)是设计模式中行为模式的一种,它解决了上述具有一对多依赖关系的对象的重用问题。此模式的参与者分为两大类,一类是被观察的目标,另一类是观察该目标的观察者们。正因为该模式是基于“一对多”的关系,所以该模式一般是应用于由一个目标对象和N个观察者对象组成(当然也可以扩展为有多个目标对象,但我们现在只讨论前者)的场合。当目标对象的状态发生改变或做出某种行为时,正在观察该目标对象的观察者们将自动地、连锁地作出相应的响应行为。通过本次实验了解观察者模式的原理。并能够运用观察者模式来进行编程。实验 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 1UML类图工厂模式——手机工厂MobileMobileFactoryNokiaMotorolaMotorolaFatoryNokiaFactory工厂模式——电脑产品单例模式:程序的源代码工厂模式——手机工厂publicinterfaceMobile{publicvoidcall();}publicinterfaceMobileFactory{publicMobileproduceMobile();}publicclassMotorolaimplementsMobile{publicvoidcall(){摩托罗拉手机");}}publicclassNokiaimplementsMobile{publicvoidcall(){诺基亚手机");}}publicclassMotorolaFactoryimplementsMobileFactory{publicMobileproduceMobile(){摩托罗拉工厂制造了");returnnewMotorola();}}publicclassNokiaFactoryimplementsMobileFactory{publicMobileproduceMobile(){诺基亚工厂制造了");returnnewNokia();}}publicclassClient{publicstaticvoidmain(Stringargv[]){MobileFactorymf;Mobilem;mf=newMotorolaFactory();m=();();mf=newNokiaFactory();m=();();}}工厂模式——电脑产品publicinterfaceCPU{publicStringgetCPU();}publicclassAMDimplementsCPU{publicStringgetCPU(){return"AthlonXP2008+";}}publicclassIntelimplementsCPU{publicStringgetCPU(){return"奔腾43.2C";}}publicinterfaceHardDisk{publicStringgetSize();}publicclassMaxtorimplementsHardDisk{publicStringgetSize(){return"MaXLinePlusII200G";}}publicclassWestDigitimplementsHardDisk{publicStringgetSize(){return"WD2500JD250G";}}publicinterfaceMainBoard{publicvoidAttach(CPUcpu)throwsException;}publicclassMSI865PEimplementsMainBoard{publicvoidAttach(CPUcpu)throwsException{if().toString().endsWith("Intel")){"MSI865PE");}else{thrownewException("主板MSI865PE只能配Intel的CPU");}}}publicclassMSIK7N2GimplementsMainBoard{publicvoidAttach(CPUcpu)throwsException{if().toString().endsWith("AMD")){"MSIK7N2G");}else{thrownewException("主板MSIK7N2G只能配AMD的CPU");}}}publicabstractclassComputerFactory{CPUcpu;HardDiskhd;MainBoardmb;publicvoidshow(){try{.toString()+("生产的电脑配置"));("CPU:"+());("HardDisk:"+());("MainBoard:");(cpu);}catch(Exceptione){}}}publicclassIBMextendsComputerFactory{IBM(){cpu=newIntel();hd=newWestDigit();mb=newMSI865PE();}}publicclassDellextendsComputerFactory{Dell(){cpu=newAMD();hd=newMaxtor();mb=newMSIK7N2G();}}publicclassClient{publicstaticvoidmain(Stringargv[]){IBMibm=newIBM();();Delldell=newDell();();}}单例模式:packageSingleton;publicclassAgentMazeFactoryextendsMazeFactory{publicAgentMazeFactory(){"aAgentMazeFactoryhasbeencreated");}}packageSingleton;publicclassEnchantedMazeFactoryextendsMazeFactory{publicEnchantedMazeFactory(){"aEnchantedMazeFactoryhasbeencreated");}}packageSingleton;publicabstractclassMazeFactory{privatestaticMazeFactoryuniqueInstance=null;protectedMazeFactory(){};publicstaticMazeFactoryinstance(){if(uniqueInstance==null)returninstance("AgentMazeFactory");elsereturnuniqueInstance;}publicstaticMazeFactoryinstance(Strings){if(uniqueInstance==null){/*if("AgentMazeFactory"))uniqueInstance=newAgentMazeFactory();elseif("EnchantedMazeFactory"))uniqueInstance=newEnchantedMazeFactory();*/try{uniqueInstance=(MazeFactory)(s).newInstance();}catch(InstantiationExceptione){个类不能预期它必须创建的对象的类2.一个类希望由其子类来指定它创建的对象优点1.通过消除应用特定的类的实例化,代码变得更灵活、更可复用2.代码只处理Product类的接口,能与任何支持该接口的ConcreteProduct类一起工作缺陷1.客户端可能只因实例化一个特定的ConcreteProduct而生成Creator类的子类。单例模式的适用性当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。优点对惟一实例的受控访问允许可变的实例数量。缺点一、开销二、可能的开发混淆三、对象生存期。经过本次实验课的练习,我明白了编代码也是一种技巧,而设计模式便是大家提炼出来的有技巧编代码。使我对软件设计与体系结构这门课有了浓厚的兴趣,相信在学习这门课的知识,会让我获益良多。扣分原因(有扣分时填写)扣分
本文档为【工厂模式-单例模式案例实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
is_090279
暂无简介~
格式:doc
大小:552KB
软件:Word
页数:29
分类:
上传时间:2021-12-12
浏览量:5