设计模式实验报告 下载本文

太原师范学院

实验报告

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 -