您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > java设计模式--项目框架与设计模式解析
项目框架与设计模式第十五章回顾什么要同步?怎么同步?什么是死锁?本章目标项目框架设计模式(单态模式、DAO模式、工厂模式)通信示意图服务器客户端Socket服务器端启动服务器,服务器端建立ServerSocket,并启动监听线程,等待客户端连接。监听线程接收到客户端连接后,启动接收线程。在线程里对接收到的数据进行相应的处理。举例:服务器接收到私聊包之后,转发给相应的客户端。客户端建立Socket连接到服务器,发送登陆包进行验证,验证通过之后进入聊天界面并启动接收线程。接收线程负责接收服务器发送或者转发的数据包。如接收到在线用户包,则刷新在线用户列表;如接收到私聊、群聊、公告包则显示出来。注:客户端不连接数据库,所有对服务器数据的修改都是通过发数据包到服务器,由服务器端来完成。主要技术难点通信多线程在线用户刷新数据的转发(Socket和用户id的对应关系)数据保存方式的切换参数的传递单态模式Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。单态模式的实现publicclassSingleton{//私有的构造,保证只有自己能调用privateSingleton(){}//在自己内部定义自己一个实例//注意这是private只供内部调用privatestaticSingletoninstance=newSingleton();//这里提供了一个供外部访问本class的静态方法,可以直接访问publicstaticSingletongetInstance(){returninstance;}}单态模式的应用场景资源访问的统一入口类(计数器、外部资源的访问)控制实例的个数,便于垃圾回收ValueObject(值对象)数据封装属性的setter,getter方法数据传递DAO模式数据访问对象(DataAccessObject)模式(CRUD)Create,Retrieve,Update,DeleteDAO模式使用数据访问对象(DAO)模式来抽象和封装所有对数据源的访问。DAO管理着与数据源的连接以便检索和存储数据。DAO实现了用来操作数据源的访问机制。数据源可以时RDBMS,文件系统等等。依赖于DAO的业务组件为其客户端使用DAO提供更简单的接口。DAO完全向客户端隐藏了数据源实现细节。由于当低层数据源实现变化时,DAO向客户端提供的接口不会变化,所有该模式允许DAO调整到不同的存储模式,而不会影响其客户端或者业务组件。重要的是,DAO充当组件和数据源之间的适配器。DAO模式类图DAO模式的参与者和职责BusinessObject(业务对象)代表数据客户端。正是该对象需要访问数据源以获取和存储数据。DataAccessObject(数据访问对象)是该模式的主要对象。DataAccessObject抽取该BusinessObject的低层数据访问实现,以保证对数据源的透明访问。BusinessObject也可以把数据加载和存储操作委托给DataAccessObjectDataSource(数据源)代表数据源实现。数据源可以是各RDBMS数据库,OODBMS,XML文件等等。valueObject(值对象)代表用做数据携带着的值对象。DataAccessObject可以使用值对象来把数据返回给客户端。DataAccessObject也许会接受来自于客户端的数据,其中这些用于更新数据源的数据存放于值对象中来传递。工厂模式(Factory)提供创建对象的方法,利用工厂模式可是做到针对接口(interface)编程。工厂模式实现根据传入的参数生成不同的实现类,实现类以统一的类型返回。举例:publicSamplecreateSimple(intwhich){if(which==1)returnnewSampleA();elseif(which==2){returnnewSampleB();elsereturnnull;}工厂模式类图DAO模式+工厂模式类图回顾项目框架设计模式(单态模式、DAO模式、工厂模式)
本文标题:java设计模式--项目框架与设计模式解析
链接地址:https://www.777doc.com/doc-3874872 .html