java设计模式--项目框架与设计模式解析_第1页
java设计模式--项目框架与设计模式解析_第2页
java设计模式--项目框架与设计模式解析_第3页
java设计模式--项目框架与设计模式解析_第4页
java设计模式--项目框架与设计模式解析_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论