软件设计模式_行为型模式
1、职责链模式
1.1 作业题目
1.在军队中,一般根据战争规模的大小和重要性由不同级别的长官(Officer)来下达作战命令,情报人员向上级递交军情(如敌人的数量),作战命令需要上级批准,如果直接上级不具备下达命令的权力,则上级又传给上级,直到有人可以决定为止。现使用职责链模式来模拟该过程,客户类(Client)模拟情报人员,首先向级别最低的班长(Banzhang)递交任务书(Mission),即军情,如果超出班长的权力范围,则传递给排长(Paizhang),排长如果也不能处理则传递给营长(Yingzhang),如果营长也不能处理则需要开会讨论。我们设置这几级长官的权力范围分别是:
① 敌人数量<10,班长下达作战命令。
② 10<敌人数量<50,排长下达作战命令。
③ 50<敌人数量<200,营长下达作战命令。
④ 敌人数量>200,需要开会讨论再下达作战命令。
2、组合命令模式
2.1 作业题目
使用组合命令模式实现多功能开关,让用户进行设置,可以同时控制教室的所有灯的开和关,并能控制风扇、空凋、多媒体投影仪设备的开和关。
3、中介者模式
3.1 作业题目
使用中介者模式来说明联合国的作用,要求绘制相应的类图并分析每个类的作用(注:可以将联合国定义为抽象中介者类,联合国下属机构如WIO,WHO,WTO等作为具体者类,国家作为抽象同事类,而将中国,美国等国家作为具体同事类).
4、享元模式+备忘录模式
4.1 作业题目
采用设计模式设计一款五子棋软件,使得该软件具有多次悔棋功能,即需要在系统中仔储棋子的多个历史状态(如棋子所处位置等).使用享元模式和备忘录模式模拟实现该过程。
5、观察者模式+中介者模式
5.1 作业题目
某在线游戏支持多人联机对战,每个玩家都可以加人某一战队组成联盟,当战队巾某一成员受到敌人攻击时将给所有盟友发送通知,盟友收到通知后将做出响应。使用观察者模式和中介者模式设计并实现该过程。
6、状态模式
6.1 作业题目
某纸牌游戏软件中,人物角色具有人门级(Primary)、熟练级(Secondary),高手绍(Professional)和骨灰级(Final)四种等级,角色的等级与其积分相对应,游戏胜利将增加和分,失败则扣除积分。人门级具有最基本的游戏功能 play(),熟练级增加丁游戏胜利积分加倍功能doubleScore),高手级在熟练级基础上再增加换牌功能 changeCards(),骨灰级在高手级基础上再增加偷看他人的牌功能 peekCards()。现使用状态模式来设计该系统,绘制类图并编程实现。
7、完整实验报告及源码
https://download.csdn.net/download/LE1076287422/20087586
软件设计模式_行为型模式相关推荐
- 设计模式_行为型模式学习
我们知道,创建型设计模式主要解决"对象的创建"问题,结构型设计模式主要解决"类或对象的组合或组装"问题,那行为型设计模式主要解决的就是"类或对象之间的 ...
- 经典伴读_GOF设计模式_结构型模式
经典伴读系列文章,不是读书笔记,自己的理解加上实际项目中运用,旨在5天读懂这本书.如果这篇文章对您有些用处,请点赞告诉我O(∩_∩)O. 如何使用设计模式抽象实例化过程.请参考<经典伴读_GOF ...
- 备战面试日记(3.2) - (设计模式.23种设计模式之创建型模式)
本人本科毕业,21届毕业生,一年工作经验,简历专业技能如下,现根据简历,并根据所学知识复习准备面试. 记录日期:2022.1.6 大部分知识点只做大致介绍,具体内容根据推荐博文链接进行详细复习. 文章 ...
- 软件设计模式“单例模式”和“工厂模式”
软件设计模式"单例模式"和"工厂模式" 单例模式 什么是单例模式 单例模式的实现方式有哪些 单例模式的优缺点 单例模式的应用场景 总结 工厂模式 什么是工厂模式 ...
- 备战面试日记(3.4) - (设计模式.23种设计模式之行为型模式)
本人本科毕业,21届毕业生,一年工作经验,简历专业技能如下,现根据简历,并根据所学知识复习准备面试. 记录日期:2022.1.12 大部分知识点只做大致介绍,具体内容根据推荐博文链接进行详细复习. 文 ...
- 设计模式之创建型模式(工厂、原型、建造者)
文章目录 创建型模式 2.1 工厂设计模式 2.1.1 简单工厂模式 2.1.2 工厂方法模式 2.1.3 抽象工厂 2.1.4 工厂模式总结 2.1.5 Spring中的工厂模式 2.1.6 工作中 ...
- 设计模式之行为型模式(7种)
目录 一.模版方法模式(template ) 概念 模式中的角色 模板模式UML类图 案例 使用前 使用后 钩子函数应用场景 注意事项和细节 应用 优点 模板方法模式与开闭原则 二.命令模式 概念: ...
- java设计模式中不属于创建型模式_23种设计模式第二篇:java工厂模式定义:工厂模式是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式...
23种设计模式第二篇:java工厂模式 定义: 工厂模式是 Java 中最常用的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 工厂模式主要是为创建对象提供过渡接口, ...
- java real football_Java学习--设计模式之行为型模式(三)
一.空对象模式(Null Object Pattern) 1.概念 在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查.Null 对象不是检查空值,而是 ...
最新文章
- LAMP的安装及Xcache的配置
- SpringBoot第十篇:thymeleaf详解
- Ubuntu 14.04下 Redis MongoDB安装及使用
- AQS(CountdownLatch、CyclicBarrier、Semaphore)、FutureTask、BlockingQueue、ForkJoin
- C语言求在算术级数中找到缺少的数字(附完整源码)
- html的混合标记,HTML XPath:提取与多个标签混合的文本?
- CodeForces - 1321B Journey Planning(思维)
- jsf集成spring_Spring和JSF集成:导航
- 去哪儿-17-detail-header
- wordpress php执行短代码_PHP 8.0发布日期和PHP中JIT的状态
- android studio 自动引用,Android Studio三方引用报错但是项目可以运行的解决方案
- 蓝桥杯进制转换的一题……
- Ubuntu 使用微信开发者工具
- Listary 6 插件开发教程:使用 Javascript 开发
- Python基础教程
- 考研丨7-12月复习安排时间表
- 生活随记-冬天的馈赠
- python画混淆矩阵 confusion matrix
- [Leetcode] 414. 第三大的数
- 线程传值数据丢失_开放线程:如何防止数据丢失
热门文章
- centos7升级openssh至openssh8.7.p1、openSSL至openssl3.0.3
- 手机访问服务器网站出现广告,【洗白白】浏览器老是弹出运营商的“小广告”?三招完美解决!...
- 华为办公电脑发布会小记
- 使用JavaScript更快地嵌入YouTube
- java引用数组长度_如何引用Java数组的长度
- 靠着这份Linux资料,我混进了小公司中层,涨薪6K(今天免费领)
- 2020年做什么行业,发展比较好?
- Hadoop(一)——hadoop框架简介
- 【论文翻译】Auto-painter:基于条件Wasserstein生成性对抗网络的草图卡通形象生成
- [virtualBox]Host-only模式下虚拟机报错activation of network connection failed