
软件设计模式
软件设计模式各模式的实验实例
秃头小霸王
yxxx要努力啊~bō lō Q~
展开
-
行为型模式的应用(一)迭代器模式(Iterator)
电视机遥控器是一个迭代器的现实应用,通过它可以实现对电视频道集合的遍历操作,电视机可以看成一个存储频道的聚合对象。试模拟电视机遥控器的实现,绘制出相应的类图。原创 2023-04-26 17:01:33 · 401 阅读 · 0 评论 -
行为型模式的应用(一)责任链模式(Chain of Responsiblity)
某公司要开发一个软件系统的在线文档帮助系统,用户可以在任何一个查询上下文中输入查询关键字,如果当前查询环境下没有相关内容,则系统会将查询按照一定的顺序转发给其他查询环境。基于上述需求,试采用职责链模式对该系统进行设计。要求绘制相应的类图并使用Java语言编程实现。原创 2023-04-26 16:59:16 · 177 阅读 · 0 评论 -
结构型模式的应用(三)代理模式(Proxy )
在一个论坛中已注册用户和权限不同,已注册的用户拥有发帖、修改自己的注册信息、修改自己的帖子等功能;而游客只能看到别人发的帖子,没有其他权限。试使用保护代理来设计该权限管理模块。原创 2023-04-13 11:20:32 · 207 阅读 · 0 评论 -
结构型模式的应用(三)外观模式(Facade)
某信息系统需要提供一个数据处理和报表显示模块,该模块可以读取不同类型的文件中的数据并将数据转换成XML格式,然后对数据进行统计分析,最后以报表方式来显示数据。由于该过程需要涉及多个类,试使用外观模式设计该数据处理和报表显示模块。考虑到有些文件本身已经是XML格式,无须进行格式转换,为了让系统具有更好的扩展性,在系统设计中可以引入抽象外观类,并使用Java代码编程模拟实现。原创 2023-04-13 11:17:16 · 603 阅读 · 0 评论 -
结构型模式的应用(二)装饰模式
某咖啡店在卖咖啡时可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算总费用。咖啡店所供应的咖啡及配料的种类和价格如表所示。现使用装饰模式为该咖啡店设计一个程序以实现计算费用的功能,输出每种饮料的详细描述及花费。abstract class Beverage //抽象组件。要求画出对应的类图,并使用Java语言编程实现。混合咖啡(House Blend)重烘焙咖啡(Dark Roast)浓缩咖啡(Espresso)咖啡及配料的种类和价格表。原创 2023-04-12 17:15:32 · 1194 阅读 · 0 评论 -
结构型模式的应用(二)组合模式
某软件公司要开发一个界面控件库,界面控件分为两大类,一类是单元控件,例如按钮、文本框等,一类是容器控件,例如窗体、中间面板等,试用组合模式设计该界面控件库,画出类图即可。原创 2023-04-12 17:11:48 · 705 阅读 · 0 评论 -
结构型模式的应用(一)桥接模式
某软件公司要开发一个数据转工具,可以将数据库中的数据转换成多种文件格式,例如TXT、XML、PDF等格式,同时该工具需要支持多种不同的数据库。试使用桥接模式对其进行设计,并使用Java代码编程模拟实现。原创 2023-03-27 10:15:00 · 500 阅读 · 0 评论 -
结构型模式的应用(一)适配器模式
使用Java语言实现一个双向适配器实例,使得猫(Cat)可以学狗(Dog)叫(Cry()),狗可以学猫抓老鼠(catchMouse())。要求绘制相应的类图并写出适配器(Adapter)类的代码原创 2023-03-23 11:41:00 · 1763 阅读 · 0 评论 -
创建型模式的应用(二)抽象工厂模式
一个电器工厂可以产生多种类型的电器,如海尔工厂可以生产海尔电视机、海尔空调等,TCL工厂可以生产TCL电视机、TCL空调等,相同品牌的电器构成一个产品族,而相同类型的电器构成一个产品等级结构,使用抽象工厂模式模拟该场景,要求绘制相应的类图并用Java语言模拟实现。的具体实现类(具体工厂角色)的具体实现类(具体产品角色)的具体实现类(具体产品角色)第一步,定义一个抽象类。第三步,定义一个抽象类。第五步,定义一个抽象类。原创 2023-03-13 10:55:13 · 381 阅读 · 0 评论 -
创建型模式的应用(二)抽象工厂模式
某软件公司要推出一款新的手机游戏软件,该软件能够支持Symbian、Android等多个智能手机操作系统平台,针对不同的手机操作系统,该游戏软件提供了不同的游戏操作控制(OperationController)类和游戏界面控制(InterfaceController)类,并提供相应的工厂类来封装这些类的初始化过程。软件要求具有良好的扩展性以支持新的操作系统平台,为了满足上述需求,试采用抽象工厂模式对其进行设计,的具体实现类(具体工厂角色)的具体实现类(具体产品角色)的具体实现类(具体产品角色)原创 2023-03-13 11:15:11 · 976 阅读 · 0 评论 -
创建型模式的应用(一) 理解工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)
某软件公司要开发一个数据格式转换工具,可以将要求绘制相应的类图并用Java语言模拟实现。为了让系统具有更好的扩展性,在未来支持新类型的数据源,开发人员决定使用工厂方法模式设计该工具。在工厂类中封装了具体转换类的初始化和创建过程,客户端只需要使用工厂类即可获得具体的转换类对象,再调用其相应方法实现数据转换操作。绘制该工具的类图并使用Java语言编程模拟实现,要求实现时引入配置文件。第五步,应题目要求,实现时要引入配置文件。第一步,定义一个转换接口。第三步,定义具体转换工厂。第四步,定义具体转换产品。原创 2023-03-13 10:43:52 · 538 阅读 · 0 评论 -
创建型模式的应用(一)理解工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)
宝马(BMW)工厂制造宝马汽车,奔驰(Benz)工厂制造奔驰汽车。使用工厂方法模式模拟该场景,绘制相应的类图并使用Java语言编程模拟实现。原创 2023-03-13 10:36:06 · 2637 阅读 · 0 评论