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