版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、项目框架与设计模式,第十五章,回顾,什么要同步? 怎么同步? 什么是死锁?,本章目标,项目框架 设计模式(单态模式、DAO模式、工厂模式),通信示意图,服务器端,启动服务器,服务器端建立ServerSocket,并启动监听线程,等待客户端连接。 监听线程接收到客户端连接后,启动接收线程。在线程里对接收到的数据进行相应的处理。举例:服务器接收到私聊包之后,转发给相应的客户端。,客户端,建立Socket连接到服务器,发送登陆包进行验证,验证通过之后进入聊天界面并启动接收线程。 接收线程负责接收服务器发送或者转发的数据包。如接收到在线用户包,则刷新在线用户列表;如接收到私聊、群聊、公告包则显示出来。
2、 注:客户端不连接数据库,所有对服务器数据的修改都是通过发数据包到服务器,由服务器端来完成。,主要技术难点,通信 多线程 在线用户刷新 数据的转发(Socket和用户id的对应关系) 数据保存方式的切换 参数的传递,单态模式,Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。,单态模式的实现,public class Singleton /私有的构造,保证只有自己能调用 private Singleton() /在自己内部定义自己一个实例 /注意这是private 只供内部调用 private static Singleton instance = n
3、ew Singleton(); /这里提供了一个供外部访问本class的静态方法,可以直接访问 public static Singleton getInstance() return instance; ,单态模式的应用场景,资源访问的统一入口类(计数器、外部资源的访问) 控制实例的个数,便于垃圾回收,ValueObject(值对象),数据封装 属性的setter,getter方法 数据传递,DAO模式,数据访问对象(Data Access Object) 模式 (CRUD) Create,Retrieve, Update ,Delete,DAO模式,使用数据访问对象(DAO)模式来抽象和封
4、装所有对数据源的访问。DAO管理着与数据源的连接以便检索和存储数据。 DAO实现了用来操作数据源的访问机制。数据源可以时RDBMS,文件系统等等。依赖于DAO的业务组件为其客户端使用DAO提供更简单的接口。DAO完全向客户端隐藏了数据源实现细节。由于当低层数据源实现变化时,DAO向客户端提供的接口不会变化,所有该模式允许DAO调整到不同的存储模式,而不会影响其客户端或者业务组件。重要的是,DAO充当组件和数据源之间的适配器。,DAO模式类图,DAO模式的参与者和职责,BusinessObject(业务对象) 代表数据客户端。正是该对象需要访问数据源以获取和存储数据。 DataAccessObj
5、ect(数据访问对象) 是该模式的主要对象。DataAccessObject抽取该BusinessObject的低层数据访问实现,以保证对数据源的透明访问。BusinessObject也可以把数据加载和存储操作委托给DataAccessObject DataSource(数据源) 代表数据源实现。数据源可以是各RDBMS数据库,OODBMS,XML文件等等。 valueObject(值对象) 代表用做数据携带着的值对象。DataAccessObject可以使用值对象来把数据返回给客户端。 DataAccessObject也许会接受来自于客户端的数据,其中这些用于更新数据源的数据存放于值对象中来传递。,工厂模式(Factory),提供创建对象的方法,利用工厂模式可是做到针对接口(interface)编程。,工厂模式实现,根据传入的参数生成不同的实现类,实现类以统一的类型返回。 举例: public Sample createSimple(int which) if (which=1) return new SampleA(); else if(which=2) ret
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 附加费征收与反垄断法
- 2024-2025学年小学心理教育前沿研究与实践的教学设计
- 网络安全风险评估与管理-第2篇
- 山东省招远市第二中学高三生物二轮复习教案:细胞的分子组成、结构和功能;细胞工程 人教版
- 第6课+全球航路的开辟+导学案 统编版(2019)高中历史必修中外历史纲要下册
- 压力与情绪障碍的联系
- 分区搜索区间覆盖
- 高中生物 第2章 第2节 生命活动的主要承担者-蛋白质课后强化作业 新人教版必修1
- 大连版(2015)八年级下册信息技术 4.繁星闪烁-图形元件的应用 教案
- 太极柔力球教案高一上学期体育与健康人教版
- 第一单元测试卷-2024-2025学年统编版语文四年级上册
- DB32∕T 3217-2017 公路工程EPS颗粒混合轻质材料路堤技术规程
- 第13章《内能》和第14章《内能的利用》测试试题 -2024-2025学年人教版物理九年级全一册
- 2024年基本级执法资格考试题库及解析(100题)
- 2024年全国职业院校技能大赛高职组(智能网联汽车技术赛项)考试题库(含答案)
- 2024年二手房购房定金合同范例(三篇)
- 新一代物流无人机运营模式及管理体系构建方案
- 2025届高考语文复习:作文审题立意+课件
- 高标准农田施工投标方案(技术方案)
- 重度营养不良的护理查房
- 新能源汽车动力电池回收处理考核试卷
评论
0/150
提交评论