练习02创建型+结构型+其它(以fromsrc目录中的代码为基础)1.在game中维护着curMenu,见下图:在运行时,应只有一个curMenu对象。
而MenuMgr作为所有menu的管理器,也可以管理curMenu。
请将curMenu从Game类,移到MenuMgr中,使得运行结果不变。
2.道理同1.请建立MapMgr类,并将curMap从Game类,移到MapMgr中,使得运行结果不变。
3.查看Map.h其中各Block以二维数组的方式组织。
事实上,各Block的组织方式是多种多样的,如既可以用二维数组的方式表示布局结构,也可以用链表、有向图等表示,甚至各Block是通过立体的关系构成Map。
请使用桥接模式分离Map的接口和具体实现。
同时,为保持Map接口的一般性,改为通过线性索引的方式读取/添加Block。
即Map可如下:MapImp类可如下:(当需要不同的实现时,从MapImp派生即可)既然Map不再记录Block的二维位置信息,那么可以让Block记录自己的二维位置信息,即Block类可修改为:请完成相关代码的修改,使得程序功能不变。
4.前边的代码中,地图的布局是由二维数组给出的,如:很明显,其隐含地指出:相邻的两个非空Block是相通的,不相邻两个非空Block是不能直接连通的。
但实际上,地图的布局不一定以数组方式给出,可以用其它方式给出,例如下图(地图B)中的布局,可能以下表的方式给出:(地图B的布局含义)AAAAABBBCCCCDDDAAAAABBB(对应地图B布局实际给出的数据表)类型序号行列LEFTRIGHTUPDOWNA1000206A2011300A3022407A4033500A5044008B6100019B71200310B81400512C92000613C1022011714C1123101200C1224110815D133000916D1432001018D1534001220A1640017130A1741161800A18421719140A1943182000A20441921150B2145202200B2246212300B234722000若希望每个Block“知道”其相邻的各Block,请扩展3中MapDirector、MapBuilder、Block类,同时改写MapMgr中的createMap函数,使得新的程序能够根据给定数据表正确创建并显示地图(可在global.h中添加常量)。
5.回看3中的MapImp类:请问“MapImp类的设计中,使用了适配器模式”,这句话对吗?如果正确,回答适配了什么?采用类适配器模式可以吗?如果不正确,回答为什么?
2022/9/30 20:10:21 632KB 吉林大学 设计模式
1
吉林大学软件学院卓班设计模式第一次作业一.使用分类稳定和变化的方法,重新设计类,使得新设计能以扩展代码的方式适应变化未来可能会增加新的数据成员如mVal3,do1和do2中可能访问mVal1、mVal2、mVal3等二.按指定的要求或模式,给出实现。
1.使用工厂方法模式实现工厂类。
其中图书馆可能增加其他子类型,体育馆可可能增加具体子类。
2.请用C++语言具体实现多线程中lazy式的单例模式(具体的锁机制,可任意)。
3.若已知文科图书馆和理科图书馆各只有唯逐个个,请参考课件中”多个单例类”,实现文科图书馆和理科图书馆的单例化。
4.显然,一套场所组合对应一个工厂,请实现将各工厂也单例化。
5.一个线程对象可以是多种状态(运行,空闲,挂起等),创建线程是非常耗资源的。
线程池可以较好地避免频繁创建线程:一个线程池可以聚合N个线程(线程初始状态为空闲,N=10)。
当客户申请线程时,从线程池中查找空闲的线程,找到后返回该线程;
若没找到,返回异常。
请用多例模式设计线程池类(ThreadPool)
2022/9/30 19:15:42 56KB 吉林大学
1
吉林大学javaee上机课所需软件jboss,eclipsejee.mysql等软件以及相关安装阐明书
2015/3/11 22:12:12 4.1MB javaee
1
计算机网络期末试卷计算机网络重点部分:第一章:1.1网络发展的三个阶段1.2网络定义(地位平等,无主从之分)1.3分组交换的特征(化整为零,存储转发)优缺点第二章:2.1网络协议和网络体系结构2.2OSIInternet参考协议第三章:3.1模仿通信和数字通信3.2奈奎斯特公式和香农定理3.3数字信号编码(非归零、曼彻斯特、差分曼彻斯特)3.4数字调制(基本概念、脉码调制(模仿->数字))3.5数据同步方式(字符、位同步)第四章:4.1海明码、CRC4.2停-等协议、滑动窗口(顺序接收管道协议(回退n协议)、选择重传)4.3信道最大利用率:U=(L/B)/(L/B+2R)4.4HDLC(标志和采用插“0”技术)PPP(HDLC简化版)第五章:5.1分组交换技术(虚电路、面向连接、数据报)5.2逆向自学习(校园网)不能有环D-V外部网关协议L-S内部网关协议5.3IP协议:IP分组的格式、IP地址、字段含义5.4子网划分第六章:6.1传输地址6.2TCP三次握手6.3TCP报文段格式6.4UDP第七章:7.1主要应用层协议第八章:8.1LLC子层8.2MAC子层8.3CSAM原理1-坚持非-坚持P-坚持第九章:9.1网络安全威胁9.2数据加密和数字签名9.3非对称密钥体制9.4身份认证(PKI基本原理)
2020/3/10 12:05:19 39KB 计算机网络
1
1.1项目总体说明用Java语言模拟一个小型的数据库管理系统,使得这个系统能用规定的语法风格实现信息的增加、修改、删除和查询,并实现了索引的创建、维护和删除功能,在查询时对查询进行优化,提高查询速度;
同时提供另外一些功能接口,便于以后增加其它功能。
1.2项目组成员简介项目组长:,擅长分配任务,能够严格督促组员按照项目安排表完成各自工作任务,组织能力强,编程能力在中上游。
组员一:,善于编程,数据结构知识掌握非常到位,有编写红黑树的能力。
组员二:,对字符串婚配问题了解较深,编程能力强。
组员三:,善于测试测序,调Bug,编程能力在中上游。
1.3四人组队缘由
2020/11/1 8:43:45 209KB 吉林大学 数据库
1
吉林大学《微机原理》实验(汇编局部)全部代码,包括书上有的和课上出的题。
2017/6/27 18:41:35 14KB 吉林大学 微机原理 汇编 实验
1
吉林大学节制学科考研复试真题
2016/8/22 22:30:44 5.97MB 面试
1
吉林大学软件学院上机实验1、使用JSF标签构建图书添加页面。
页面中包括:图书名称、图书书号、作者、出版时间、价格文本输入框(h:inputText),分类、子分类选择框(h:selectOneRadio或h:selectOnelistbox)和添加按钮、取消按钮(h:commandButton),以及必需的文本标签(h:outputLabel)和表单标签(h:form)。
分类包括如下几种:计算机、文学、管理、其它。
子分类由分类确定,当选择不同分类时,子分类会根据所选择的分类不同而不同。
分类与子分类的关系:计算机->软件工程、计算机网络、编程言语、其它;
文学->小说、散文、诗词、其它;
管理->行政管理、工商管理、金融管理、其它;
其它->无。
2、使用托管Bean获得用户输入的图书信息。
构建图书类,将该类设置为托管Bean,并将其属性与页面上的标签建立对应的关联关系。
图书类的属性中,图书名称、图书书号为字符串类型、作者为字符串类型的有序集合(作者可以有多个,要求用户输入时以逗号分隔)、出版时间为日期类型、价格为浮点类型、分类和子分类为整型或枚举类型。
使用转换器和验证器对用户输入的图书信息进行转换和验证。
除子分类外所有的字段均不能为空;
图书编码必须是ISBN开头后跟13位数字;
价格必须是整数或浮点数,若用户输入的数字小数点后位数超过1位,取小数点后一位有效;
将作者转换到有序集合中存储;
根据图书书号验证位,验证书号的正确性。
2019/10/24 4:14:17 16.95MB jlu javaee
1
计较机网络课件,吉林大学计较机科学与技术学院软件学院通用~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021/9/2 7:55:55 7.25MB 吉林大学 计算机网络
1
1:DB2实验报告1(对应Unit123)2:DB2实验报告2(对应Unit4)3:DB2实验报告3(对应Unit5,含5.8)4:DB2实验报告4(对应Unit6)5:DB2实验报告5(对应Unit7)
2018/1/20 15:25:48 5.7MB 数据库 吉林大学 企业级数据库
1
共 63 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡