欢迎来到天天文库
浏览记录
ID:43579441
大小:129.50 KB
页数:5页
时间:2019-10-11
《工厂方法设计模式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验三工厂方法设计模式实验目的:加深对工厂方法设计模式及创建型设计模式原理的理解实验环境:C#.Net实验内容:某系统H志记录器要求支持多种H志记录方式,如文件日志记录和到数据库日志记录等,且用户在应用场景下可以根据要求动态选择日志记录方式,现使用工厂方法设讣模式设计该系统。实验过程:1、构建实现场景,画出UML类图2、实现代码(C#)staticvoidMain(string[]args)Console.WriteLineC采用文件日志记录方式〃);ILogFactoryfileLogFactory二newFileLogFactory();Logf
2、ilelog=fileLogFactory・CreateLogO:filelog・write();Console・WriteLine(〃二===============〃);Console.WriteLine(/z采用数据库FI志记录方式〃);ILogFactorydatabaseLogFactory二newDatabaseLogFactory();LogdatabaseLog=databascLogFactory・CrcatcLogO;databaseLog.write();//////日志抽象类///publ
3、icabstractclassLog{publicabstractvoidwrite():}//////文件日志类///〈/summary〉publicclassFileLog:Logpublicoverridevoidwrite(){Console.WriteLine(〃正在向文件日志中写入数据"、•、}}III///数据库日志类IIIpublicclassDatabaseLog:Log{publicoverridevoidwrite(){Console・WriteLine(〃正在向数据库日志
4、中写入数据〃);III///抽象日志工厂///interfaceILogFactory{LogCreateLogO;//////文件日志型工厂///publicclassFileLogFactory:ILogFactory{publicLogCreateLog(){returnnewFileLogO;}}//////数据库日志型工厂///publicclassDatabaseLogFactory:ILogFactorypublicLogC
5、reateLog()returnnewDatabaseLog();}实验结果:实验讨论(效果分析):通过这次实验,加深了对创建型设计模式的理解,并对儿种模式进行比较,发现各种模式的特点:工厂方法模式中,核心的工厂类不是负责所有产品的创建,而是将具体的创建工作交给子类,工厂模式中,子工厂与产品类往往具有平行的等级结构,他们之间一一对应。选折某个设计模式有了比较深的理解,这次实验,同时也是上次实验课学习的进一步应用,体现开闭原则(要求对软件的拓展开放)和里氏替换原则。
此文档下载收益归作者所有