吉林大学软件学院计算机网络课程的知识点总结,对于试卷简答题的归纳,可以拿去北宋参考,希望能对你有用!
2021-11-17 19:19:09 1.53MB 吉林大学 软件学院 计算机网络 知识点
1
吉林大学软件学院嵌入式原理课后作业
1
适合吉林大学计算机或者软件选了嵌入式课程的人使用
2021-10-25 20:02:43 78KB 吉林大学 软件学院 嵌入式 课堂测验
1
内含资源如下: 1. 中文 ppt 2. 计网知识点总结 pdf 3. 名词解释与简答题知识点整理 4. 填空选择题知识点整理 5. 10、13、15年计算机网络答案 祝朋友们考试加油
2021-10-20 20:33:12 16.31MB 吉林大学 软件学院 计算机网络 复习
1
吉林大学计算机软件学院人工智能课程(李老师授课)大作业某算法优化思路
1
吉林大学软件学院服务计算概论两次大作业
1
吉林大学RUP最终大作业参考答案
2021-10-18 17:04:52 2.28MB 吉林大学软件学院 RUP
1
作业03 结构型模式 1. 现Mouse类的定义如下: class Mouse { public: void Walk( int steps ) { cout<<"Implement for Walk() with Verson 1."} void AddMoney(int m) { cout<<"Implement for AddMoney() with Verson 1."} private: int posX; int posY; }; 若已知:在后续的版本中 a)可能会增加Mouse类的其他行为,如增加Drive(int steps)和Fly(int steps); b)可能需要改变Walk(int steps)的具体实现细节; c)可能会增加其它数据成员,如将2D位置信息改为3D位置信息等。 d)希望在新版本中,尽可能地通过扩展老版本,适应新需求。 请使用桥接模式重新设计Mouse类及相关类,并简要说明如何适应变化a-d。 2. 请设计并实现一个foo.dll,其中含有类如下: a) 若foo.dll直接导出了类Foo、类FooA、类FooB,请使用类适配器和对象适配器,实现 class User { public: int myProcess( ) { /*适配Foo.process(); */ } }; b) 若foo.dll没有导出类Foo、类FooA、类FooB,但导出函数shared_ptr createFooA();和shared_ptr createFooB();,请使用对象适配器使得User可以适配任意指定的Foo类族的子类对象的process。 3. 针对给出的场景、描述,请说出最适当的模式名字,并用文字或示例代码给出简要的使用说明或解释。 1) 开发了一个用于数值计算的大型程序库,它的功能是强大的,但需要使用者具备较高的数学专业知识。为方便“菜鸟”级用户的使用,需要提供一个简化版的,但同时又不希望影响专业人员的使用。使用哪种设计模式较好?如何设计? 2) 在2D游戏的开发中,需要绘制地图,地图是由大量的“一样的图块”拼接而成,而“图块”的种类有限,目前有草地、海洋、沙漠、山地等,未来肯定要增加种类,但不会太多太频繁。采用何种模式组织“图块”类比较好?如何设计? 3) 在开发一个办公自动化系统时,项目组在ElectricSignature类集中实现了电子签名的功能。但在使用中发现该类不能完全满足用户需求,由于财力和人员的限制,决定直接购买第三方电子签名软件,其中的FZ_ESignet类功能与ElectricSignature的功能一样,但是两个类中的函数名都是不一样的,而且购买的只是二进制代码,没有源代码。现希望使用第三方软件的功能,但又不希望修改ElectricSignature的接口。使用哪种设计模式改进较好?如何改进? 4) 某书店需要开发一套图书购销存软件。在设计图书类时发现:图书有单行本和成套的,又细分成教辅材料、科学知识、文学著作等。设计时,希望能够以一致的方式访问各种图书,不论是单本的、成套的、IT类的或古典名著。使用哪种设计模式较好?如
2021-10-09 11:42:01 1012KB 吉林大学 设计模式
1
练习03 创建型+结构型+其它(以step0_src中代码为基础) 1. 在代码中大量地使用了cout, 这限定了程序只能输出到控制台屏幕,同时也限定了程序中大部分类只能在控制台程序中被复用。为更好提高Menu等类的复用性,并适应多种输出设备,如输出到流设备(含控制台)、输出到打印机、输出到窗口等, 可以将输出独立出来。请根据给出的类图,设计并实现相关类(PrinterDevice、WindowDevice不用实现,暂不考虑cin的处理),并修改原程序,使得输出结果不变。 2. 若希望输出各菜单时,左端都增加一些空格或Tab,使得显示更美观一些,如下图所示。请使用装饰模式扩展1中的类。 转变成 3. 考虑1中的PrinterDevice,若系统中没有本地打印机,而是使用网络打印机;在网络上打印机有多台,当有打印需要时,由系统根据情况选择一台打印。现希望维持OutDevice等类接口的一致,同时让用户在适应打印设备时,感觉与本地打印“一样”。请使用代理模式,给出相关部分的类图并简要加以说明。 4. 现希望在Process各Menu时,增加一些额外的操作:如在菜单之前显示一个Head,例如主菜单可能显示为: ========================= = = ========================= 主菜单 1: New 2: Load 3: Save 4: Option 5: Play..." 6: Change To EF 0: Exit Your selected: 也可能在菜单显示时,循环播放背景音乐,离开菜单时,停止播放。 现将Menu中的Process改为virtual,通过复用已有的各Menu,给Menu增加一些额外的功能。请使用装饰模式进行扩展,使得Process各Menu时,都循环播放背景音乐,离开菜单时,停止播放;同时显示主菜单时,显示如上图(Window下可使用PlaySound API函数,另由于LoadMenu类名与Windows中的LoadMenu API函数重名,可将菜单LoadMenu 类改为其它名字或使用名字空间避免重名)。 5. 现添加Player。作为Demo,可设为2-3个player,如第1号是HumanPlayer;第2号玩家是AutoPlayer,第3号玩家是AutoPlayer。当选择MainMenu->Play时,各Player依次Play;轮到AutoPlayer时,显示当前Map,然后转下一个player;轮到HumanPlayer时,显示PlayMenu菜单,如下: PlayMenu 1. Go… 2. Load 3. Save 4. Back To MainMenu Your selected: 选择1时,显示当前Map; 选择2时,进入LoadMenu;选择3时,进入SaveMenu (SaveMenu可从MainMenu的子菜单中移除掉);选择4时,进入MainMenu。请完成实现代码。实现时,需将MainMenu的子菜单SaveMenu移到PlayMenu的子菜单;修改LoadMenu的动作,当返回时,不再返回到MainMenu,而是直接执行MainMenu的Play过程;
2021-10-09 11:40:08 2.04MB 吉林大学 设计模式
1
练习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的布局含义) A A A A A B B B C C C C D D D A A A A A B B B (对应地图B布局实际给出的数据表) 类型 序号 行 列 LEFT RIGHT UP DOWN A 1 0 0 0 2 0 6 A 2 0 1 1 3 0 0 A 3 0 2 2 4 0 7 A 4 0 3 3 5 0 0 A 5 0 4 4 0 0 8 B 6 1 0 0 0 1 9 B 7 1 2 0 0 3 10 B 8 1 4 0 0 5 12 C 9 2 0 0 0 6 13 C 10 2 2 0 11 7 14 C 11 2 3 10 12 0 0 C 12 2 4 11 0 8 15 D 13 3 0 0 0 9 16 D 14 3 2 0 0 10 18 D 15 3 4 0 0 12 20 A 16 4 0 0 17 13 0 A 17 4 1 16 18 0 0 A 18 4 2 17 19 14 0 A 19 4 3 18 20 0 0 A 20 4 4 19 21 15 0 B 21 4 5 20 22 0 0 B 22 4 6 21 23 0 0 B 23 4 7 22 0 0 0 若希望每个Block“知道”其相邻的各Block,请扩展3中MapDirector、MapBuilder、Block类,同时改写MapMgr中的createMap函数,使得新的程序能够根据给定数据表正确创建并显示地图(可在global.h中添加常量)。 5. 回看3中的MapImp类: 请问“MapImp类的设计中,使用了适配器模式”,这句话对吗?如果正确,回答适配了什么?采用类适配器模式可以吗?如果不正确,回答为什么?
2021-10-09 11:37:03 632KB 吉林大学 设计模式
1