在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。
但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。
在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,可以实现二者之间的松耦合[李建忠]。
这就是本文要说的Command模式。
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;
对请求排队或记录请求日志,以及支持可撤消的操作。
[GOF《设计模式》]Command模式结构图如下:图1Command模式结构图Command模式将一个请求封装为一个对象,从而使你可以使用不同的请求对客户进行参数化。
1
Java基础 1容器 4多线程 8反射 15对象拷贝 16JavaWeb 17异常 21网络 23设计模式 30Spring/SpringMVC 33SpringBoot/SpringCloud 41Hibernate 45Mybatis 49RabbitMQ 53Kafka 57Zookeeper 58MySql 59Redis 63JVM 66
2023/9/11 4:31:48 1.18MB java 面试
1
#设计模式##描述这是一组众所周知的设计模式以及一些示例代码的集合,这些示例代码如何在C++,Java,Python等中(稍后)实现它们。
##进步图案描述C++JavaPythonPHPPerl单身人士代理人建造者命令装饰工正面观察者模板适配器轻量级桥合成的口译员[去做]调解员纪念状态原型战略游客简单工厂[去做]抽象工厂工厂方法责任链迭代器[去做]空对象[去做]对象池[去做][去做]私有类数据[去做][去做][去做][去做]##贡献请随意分叉并扩展现有示例,或者添加您自己的示例,并发送包含您所做更改的请求请求!##执照
2023/9/8 19:22:04 2.29MB Perl
1
问题1.(1)画出该系统的顶层用例模型、最终的分析对象模型和系统级别的动态模型。
(2)定义该系统的功能性需求和非功能性需求,并加以描述。
问题2.描述该系统的子系统分解结论,并清晰定义子系统之间的接口。
设计问题1中第(2)问中的任意一条非功能性需求。
问题3.(1)给出该系统可行的软件体系结构(架构)设计结论,用图示配合文档的形式进行说明。
(2)设计问题1中第(2)问中的任意一条非功能性需求(注意:需与问题2中的非功能性需求不同)。
问题4.(1)分析一下本系统实现中将可能涉及的设计模式会有哪些?并说明你的理由。
(2)设计问题1中第(2)问中的任意一条非功能性需求(注意:需与问题2和问题3中的非功能性需求不同)。
问题5.(1)定义该系统的测试计划,并依据用例和黑盒测试用例设计策略,给出2个不同的测试用例。
(2)试用OCL语言描述问题2中定义的任意一个接口。
2023/9/7 9:36:02 114KB 软件工程
1
使用Java实现粒子群求解旅行商问题(tsp),使用面向对象的思想,代码结构清晰易懂。
详细的注释,保证能够看明白。
用到单例设计模式。
参考我的博客链接https://blog.csdn.net/u012324136/article/details/80883364
2023/9/7 4:06:04 6KB 粒子群 旅行商 TSP JAVA
1
系统功能与特色:(1)图书类别信息管理:作为一个学校的图书馆,涉及到的图书是很多的,这就有必要对图书进行分门别类,这样有利于对图书的查询和管理。
不同的图书类别可以借阅的天数也是不一样的,管理员登陆系统后可以对图书类别进行添加,更新和删除操作。
(2)图书信息管理:当管理员对图书类别信息添加完成后,就可以开始进行图书信息的录入了,只有将图书馆拥有的图书录入系统中,读者朋友在登陆系统后才可以查询到自己喜欢的该图书。
(3)读者类别管理:为了方便图书馆的管理,系统对读者的类别进行了分别,不同的读者类别可以借阅图书的数目是不一样的。
管理员在登陆系统后可以这个读者类别信息进行管理,包括添加读者类别信息,修改读者类别,删除读者类别,特别是执行删除操作时需要保持数据库表数据之间的一致性。
(4)读者信息管理:当管理员把读者类别信息编辑好完成后,就可以办理读者信息了,管理员可以添加新的读者信息,修改已经存在的读者信息,删除读者信息。
(5)图书借阅管理:读者可以登陆系统查询自己喜欢的图书,然后到图书馆进行图书借书的登记操作,当读者看完了书或需要归还时,需要拿着自己的图书到图书馆进行归还,此时有管理员办理图书归还业务。
当然,如果读者借阅了图书因某种原因忘记了归还,管理员还可以对这些信息进行统计,同时,管理员还可以对已经出借的图书进行续借的办理。
(6)系统设置:管理员登陆系统后可以修改图书馆的信息,可以修改管理其他操作员的信息,可以管理书架信息。
(7)口令更改:无论是管理员或读者身份登陆系统后,都可以对自己的登陆密码进行修改操作,这样保证了系统的安全性。
(8)系统特点:采用MVC设计模式,完全采用面向对象的设计思想,使用了开源框架Struts。
2023/9/6 22:36:01 3.32MB 图书管理
1
《时间触发嵌入式系统设计模式》通俗易懂的介绍了调度器,本附件是从网上收集的该书的配套光盘。
1
在Eclipse集成开发环境中设计实现一个Android下平台的即时通讯系统客户端,它能够使用户在Android手机客户端登录,并解析openfire服务器用户信息,完成在不同平台的客户端即时通信。
1、熟悉掌握Java的基本知识,学会运用Eclipse进行Android环境搭建,以及windows下的openfire服务器的搭建;
2、掌握用Eclipse进行Android平台的UI基本设计、HTTP网络协议及XML文件解析等关键技术的实现,深刻理解XMPP(可扩展消息处理现场协议)协议;
3、学习使用MVC模式来构建系统的客户端,并掌握这种程序设计模式,分析系统需求,设计出基于Android的简易即时通信系统,并利用AndroidSDK等予以实现,并对系统进行测试;
4、完成毕业论文的撰写,不少于12000字,阅读并翻译与课题相关的英文资料,不少于20000字符,参考文献不少于15篇,其中英文参考文献不少于2篇,完成的设计图纸不少于12幅。
2023/8/27 12:28:22 47.85MB Android 即时通信系统 毕业设计 论文
1
设计模式:可复用面向对象软件的基础(中文)DesignPatterns:ElementsofReusableObject-Orientedsoftware
2023/8/21 19:07:22 10.09MB C# 设计模式
1
JSP是目前流行的网络程序开发技术,熟练掌握该技术是计算机软件应用及相关专业学生的必备技能之一。
本书以实际开发需求为主导,以目前主流的MyEclipse+Tomcat为开发平台,以网络购物系统的设计与实现为主线,辅以多个小实例为从线,通过任务驱动模式进行内容编排,由浅入深、循序渐进地介绍JSP开发方法和实用技术,详细展示了各个实例和综合案例的开发过程,以帮助初学者系统地了解JSP开发所需的基础知识和技术,快速掌握JSP网站设计的基本技能和编程技巧,培养初学者实际动手开发网络程序的应用能力。
  全书分10章,内容包括JSP概述、网页设计基础、JSP语言基础、JSP内置对象、JavaBean技术与应用、Servlet技术与应用、MVC设计模式、JSP数据库操作、JSP高级程序设计、课程设计。
本书的特色是每章知识点与应用实例密切结合,围绕着应用系统的设计与实现进行核心要点讲解和操作展示,从无到有逐步完成一个网络购物的综合案例,帮助读者快速入门,掌握JSP网络程序开发的核心技能与当前最新网络编程技术,以及系统设计实现的全过程,以应用于工作实践。
  本书可作为高等学校计算机应用及相关专业的JSP网络程序设计教材,也可作为JSP爱好者和网站开发人员的参考用书。
2023/8/20 20:13:35 18.73MB JSP案例开发
1
共 345 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡