- 6
- 0
- 约1.09万字
- 约 24页
- 2017-05-12 发布于河南
- 举报
3901120604-金初阳-实验3
《软件体系结构》
实验报告
项目名称
专业班级
学 号
姓 名
实验成绩:
批阅教师:
年 月 日
实验3
实验学时:
每组人数:
实验类型: (1:基础性 2:综合性 3:设计性 4:研究性)
实验要求: (1:必修 2:选修 3:其它)
实验类别: (1:基础 2:专业基础 3:专业 4:其它)
一、实验目的
1.
2.二、实验内容
1.
在该图形库中,每个图形类(如Circle、Triangle等)的init()方法用于初始化所创建的图形, setColor()方法用于给图形设置边框颜色,fill()方法用于给图形设置填充颜色,setSize()方法用于设置图形的大小,display()方法用于显示图形。
客户类(Client)在使用该图形库时发现存在如下问题:
① 由于在创建窗口时每次只需要使用图形库中的一种图形,因此在更换图形时需要修改客户类源代码;
② 在图形库中增加并使用新的图形时需要修改客户类源代码;
③ 客户类在每次使用图形对象之前需要先创建图形对象,有些图形的创建过程较为复杂,导致客户类代码冗长且难以维护。
现需要根据面向对象设计原则对该系统进行重构,要求如下:
① 隔离图形的创建和使用,将图形的创建过程封装在专门的类中,客户类在使用图形时无须直接创建图形对象,甚至不需要关心具体图形类类名;(工厂)
② 客户类能够方便地更换图形或使用新增图形,无须针对具体图形类编程,符合开闭原则。
绘制重构之后的类图并说明在重构过程中所运用的面向对象设计原则。
2.
该皮肤库需要具备良好的灵活性和可扩展性,用户可以自由选择不同的皮肤,开发人员可以在不修改既有代码的基础上增加新的皮肤。试使用抽象工厂模式设计该皮肤库,绘制类图并编程模拟实现。
5. 使用单例模式的思想实现多例模式,确保系统中某个类的对象只能存在有限个,例如两个或三个,设计并编写代码实现一个多例类。
6. 使用单例模式设计一个多文档窗口(注:在Java AWT/Swing开发中可使用JDesktopPane和JInternalFrame来实现),要求在主窗体中某个内部子窗体只能实例化一次,即只能弹出一个相同的子窗体,如下图所示,编程实现该功能。
(注:用C#或C++实现类似功能也可以)
三、实验要求
四、实验步骤
PowerDesigner绘制重构之后的类图;
PowerDesigner绘制简单工厂模式实例结构图并用面向对象编程语言实现该模式实例;
3. 结合实例,使用PowerDesigner绘制工厂方法模式实例结构图并用面向对象编程语言实现该模式实例;
4. 结合实例,使用PowerDesigner绘制抽象工厂模式实例结构图并用面向对象编程语言实现该模式实例;
5. 结合实例,使用PowerDesigner绘制多例模式实例结构图并用面向对象编程语言实现该模式实例;
6. 结合实例,使用PowerDesigner绘制单例模式实例结构图并用面向对象编程语言实现该模式实例。
五、实验
1. 重构之后的类图:
重构过程中所使用的面向对象设计原则及简要说明:
2. 类图:
实现代码:
Client.java
package exercise.Test2;
import util.ParseXML;
public class Client {
public static void main(String[] args) {
Shape shape;
String cName = ParseXML.getBean();
try {
shape = ShapeFactory.draw(cName);
shape.draw();
} catch (UnsupportedShapeException e) {
System.out.println(e.getMessage());
}
}
}
ShapeFactory.java
package exercise.Test2;
public class ShapeFactory {
public static Shape draw(String type) throws UnsupportedShapeException{
if(circle.equals(type))
您可能关注的文档
- 2 面向对象01.doc
- 2-2节 程序的顺序结构.doc
- 2.1.2(二)函数的表示方法教案.doc
- 2.1.3电路图画法.doc
- 2-必修3与选修2-3知识点.doc
- 2.2§ Visual Basic 6.0 工作环境.doc
- 2.1一元二次方程教案(2011.7.25).doc
- 2.3 确定二次函数的表达式(第1课时) 教学设计.doc
- 2.2 Windows XP桌面、任务栏.doc
- 2.3.3解一元二次不等式.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 药品生产过程中的清洁生产与环境保护策略.docx VIP
- 2023年日历表带节假日全年一页打印版.docx VIP
- 铁路项目监理人员岗位职责.docx VIP
- 【初中 物理】电磁波的应用课件 2025-2026学年沪科版九年级全一册物理.pptx VIP
- 第14篇 世界屋脊——藏族高原游牧文化旅游区.ppt VIP
- (人教版)数学五年级下册计算题“天天练”习题卡,含108份题组.pdf VIP
- 基于组织学视角的异种脱细胞真皮基质研究:动物筛选、制备工艺与体内植入初探.docx VIP
- 2025年度宜都市高新技术产业投资有限公司公开招聘8人(第二批)笔试备考题库及答案解析.docx VIP
- 初中地理新课程标准及解读精选全文.pptx VIP
- 《工业机器人技术基础》考试试卷练习题附答案.pdf VIP
原创力文档

文档评论(0)