太原师范学院
实验报告
Experimentation Report of Taiyuan teachers College
报一、实验目的 二、实验原理 三、实验仪器及材料 告内容 四、实验方法 五、实验记录及数据处理 六、实验分析及讨论
系部 计算机系 年 级 课程 设计模式实训教程 姓名 学 号 日期 2018.03.03
项
一、实验目的
目 Factory Method设计模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。
框架使用抽象类定义和维护对象之间的关系。这些对象的创建通常也由框架负责。考虑这样一个应用框架,它可以向用户显示多个文档。在这个框架中,两个主要的抽象是类Application和Document。这两个类都是抽象的,客户必须通过它们的子类来做与具体应用相关的实现。
二、实验原理
试验要求包含典型的 Factory Method结构。 程序能够明确表达设计思想。
三、实验仪器及材料
操作系统: Windows,linux; 开发工具: VC; Java,C#
四、实验方法
设计一个Factory Method案例并实现,并撰写设计报告。
-1-
太原师范学院实验报告 续页
五、实验记录及数据处理
interface Log{
public void writeLog(); }
//文件日志记录器:具体产品 class FileLog implements Log{ @Override
public void writeLog() { System.out.println(\文件日志记录。\
} }
//数据库日志记录器:具体产品 class DatebaseLog implements Log{ @Override
public void writeLog() { System.out.println(\数据库日志记录。\ }
}
//日志记录器工厂接口:抽象工厂 interface LogFactory{ public Log createLog(); }
//文件日志记录器工厂类:具体工厂
class FileLogFactory implements LogFactory{ @Override
public Log createLog() { return new FileLog();
} }
//数据库日志记录器工厂类:具体工厂
class DatabaseLogFactory implements LogFactory{ @Override
public Log createLog() {
- 2 -
太原师范学院实验报告 续页
} }
return new DatebaseLog();
//客户端测试类 class FactoryMethod{
public static void main(String[] args) { }
LogFactory factory; Log log;
factory = new FileLogFactory(); log = factory.createLog(); log.writeLog();
}$_POST['tel']
六、实验结果
- 3 -