实验五 工厂方法模式、抽象工厂模式和生成器模式_第1页
实验五 工厂方法模式、抽象工厂模式和生成器模式_第2页
实验五 工厂方法模式、抽象工厂模式和生成器模式_第3页
实验五 工厂方法模式、抽象工厂模式和生成器模式_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验五实验五 工厂方法模式 抽象工厂模式和生成器模式的应用工厂方法模式 抽象工厂模式和生成器模式的应用 一 实验目的一 实验目的 通过该实验 理解工厂方法模式 抽象工厂模式和生成器模式的意图 结 构 在软件开发中使用这些模式并进行功能验证 二 实验内容二 实验内容 1 1 手机工厂 现实中不同品牌的手机应由不同的工厂制造 使用工厂方法模式 模拟实现 图 1 手机工厂的类图 2 2 微型计算机配件的生产 该系统所需要的产品族有两个 PC 系列和 MAC 系 列 产品等级结构也有两个 RAM 和 CPU 使用抽象工厂模式模拟实现 图 2 微型计算机配件生产系统的设计类图 3 3 用程序画一个小人 要求小人要有头 身体 手和脚 使用生成器模式模拟 实现 图 3 利用程序画小人的类图 三 实验步骤与要求三 实验步骤与要求 1 对于以上题目要认真分析和理解题意 程序中要求使用相应的模式 2 上机录入 使用 JDK 编译器调试 运行 验证程序 3 请指导教师审查程序和运行结果并评定成绩 4 撰写并上交实验报告 四 实验原理 四 实验原理 1 工厂方法模式 工厂方法模式 当系统准备为用户提供某个类的子类的实例 又不想让用户代码和该子类 形成耦合时 可以使用工厂方法模式来设计系统 工厂方法模式的关键是在一 个接口或抽象类中定义一个抽象方法 该方法返回某个类的子类的实例 该抽 象类或接口让其子类或实现该接口的类通过重写这个抽象方法返回某个子类的 实例 适合使用工厂方法模式的情景有 用户需要一个类的子类的实例 但不希望与该类的子类形成耦合 用户需要一个类的子类的实例 但用户不知道该类有哪些子类可用 工厂方法模式的 UML 类图 图 4 工厂方法模式的类图 2 抽象工厂模式 抽象工厂模式 当系统准备为用户提供一系列相关的对象 又不想让用户代码和创建这些 对象的类形成耦合时 就可以使用抽象工厂模式来设计系统 抽象工厂模式的 关键是在一个抽象类或接口中定义若干个抽象方法 这些抽象方法分别返回某 个类的实例 该抽象类或接口让其子类或实现该接口的类重写这些抽象方法为 用户提供一系列相关的对象 适合使用抽象工厂模式的情景有 系统需要为用户提供多个对象 但不希望用户直接使用 new 运算符实例 化这些对象 即希望用户和创建对象的类解耦 系统需要为用户提供多个相关的对象 以便用户联合使用它们 但又不 希望用户来决定这些对象是如何关联的 系统需要为用户提供一系列对象 但只需要用户知道这些对象有哪些方 法可用 不需要用户知道这些对象的创建过程 抽象工厂模式的 UML 类图 图 5 抽象工厂模式的类图 3 生成器模式 生成器模式 当系统准备为用户提供一个内部结构复杂的对象时 可以使用生成器模式 逐步地构造对象 使得对象的创建更具弹性 生成器模式的关键是将一个包含 有多个组件对象的创建分成若干个步骤 并将这些步骤封装在一个称作生成器 的接口中 适合使用生成器模式的情景有 当系统准备为用户提供一个内部结构复杂的对象 而且在构造方法中编 写创建该对象的代码无法满足用户需求时 就可以使用生成器模式来构 造这样的对象 当某些系统要求对象的构造过程必须独立于创建该对象的类时 生成器模式的 UML 类图 图 6 生成器模式的类图 五 五 上机报告内容上机报告内容 1 班级 学号 姓名 实验完成日期 2 实验题目 3 设计方案 给出你的设计方案 包括结构类图及相关说明 4 源代码 设计方案中各个类和接口的源代码 包括测试主类的源代码 5 测试数据及运行结果 6 总结 1 运用设计模式总结 对所运用的设计模式的名称 分类 意图 结构 角色 作用的总结 所运用的面向对象设计原则 2 本次实验遇到的问题 如何解决的 本次实验的经验 体会 改进 设想等 六 实验成绩考核方法六 实验成绩考核方法 实验

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论