图书介绍
Java组件设计PDF|Epub|txt|kindle电子书版本下载
![Java组件设计](https://www.shukui.net/cover/49/31241751.jpg)
- 孔德生编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121081651
- 出版时间:2009
- 标注页数:308页
- 文件大小:144MB
- 文件页数:325页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Java组件设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 组件设计总括2
第1章 组件设计概述2
1.1应用软件的总体架构2
1.2组件定义及与其相关概念的澄清4
1.3总结7
第2章 组件设计原则8
2.1组件定位:精准地解决共性问题10
2.2组件设计:无配置文件11
2.3组件设计:与使用者概念一致12
2.4组件设计:业务无关的中立性13
2.5组件设计实现:对使用环境无假设13
2.6组件设计实现:单类设计和实现14
2.7总结14
第2篇 组件设计的基础知识16
第3章 预备知识16
3.1 Java语法深入讲解16
3.1.1 static16
3.1.2嵌套类18
3.1.3静态嵌套类20
3.2反射21
3.3数据结构23
3.3.1 ArrayList23
3.3.2 LinkedList24
3.3.3 HashSet24
3.3.4 HashMap25
3.4泛型26
3.4.1泛型简介26
3.4.2泛型应用在接口上30
3.4.3泛型应用在类上30
3.4.4泛型应用在方法上31
3.4.5限制泛型的可用类型31
3.4.6通配符泛型34
3.4.7泛型深入36
3.5线程42
3.5.1线程基础42
3.5.2多线程同步46
3.5.3线程的阻塞50
3.5.4守护线程52
3.5.5多线程范例52
第3篇 组件设计61
第4章 配置组件61
4.1配置文件格式61
4.2 DTD,还是Schema64
4.3接口设计68
4.3.1设计思路68
4.3.2复合元素映射69
4.3.3接口设计73
4.3.4接口重构78
4.4接口实现85
4.4.1主要实现结构85
4.4.2 DOM根节点解析86
4.4.3 XML数据设置为对象属性87
4.4.4补充说明92
4.5总结92
第5章 Socket通信组件93
5.1使用场景93
5.2需求分析93
5.2.1系统内,还是系统间94
5.2.2 TCP,还是UDP94
5.2.3点对点,还是广播95
5.2.4单连接,还是多连接95
5.2.5安全问题96
5.2.6包边界问题96
5.2.7连接管理97
5.3客户端接口设计99
5.3.1设计原则99
5.3.2配置接口100
5.3.3功能接口101
5.3.4事件通知接口101
5.4客户端技术实现104
5.4.1技术实现选型104
5.4.2配置接口实现104
5.4.3功能接口实现104
5.5服务端接口设计113
5.5.1设计原则113
5.5.2配置接口114
5.5.3功能接口115
5.5.4事件通知接口116
5.6服务端技术实现118
5.6.1技术实现选型118
5.6.2配置接口实现119
5.6.3功能接口实现120
5.7总结133
第6章 日志组件134
6.1使用场景134
6.2需求分析137
6.2.1单例,或多例137
6.2.2异步,还是同步137
6.2.3单线程,还是多线程137
6.2.4集中监控138
6.2.5在线修改配置138
6.2.6日志格式139
6.2.7日志内容139
6.2.8容错考虑140
6.3接口设计141
6.3.1核心设计要点141
6.3.2配置接口设计141
6.3.3功能接口设计142
6.3.4日志转换接口144
6.4接口实现145
6.4.1技术选型145
6.4.2配置接口实现145
6.4.3功能接口实现148
6.4.4日志转换接口实现153
6.5总结153
第7章 数据库访问组件154
7.1需求分析155
7.1.1数据库类型155
7.1.2数据库连接155
7.1.3单实例,还是多实例156
7.1.4 ORM,还是SQL156
7.1.5什么样的结果集156
7.1.6结果集分页、合并157
7.1.7存储过程157
7.1.8对象的直接数据操作158
7.1.9事务159
7.1.10缓存159
7.2 DBAccess接口设计160
7.2.1设计思路160
7.2.2配置接口设计163
7.2.3连接管理164
7.2.4 SQL接口设计166
7.2.5批操作接口169
7.2.6存储过程接口设计169
7.2.7事务接口178
7.2.8结果集转换为对象179
7.2.9对象的直接数据库操作180
7.2.10接口汇总181
7.3 DBMonitor设计186
7.4数据对象映射规则设计189
7.4.1规则表示法189
7.4.2定义Annotation190
7.4.3代码生成工具193
7.5 DataSet设计199
7.5.1基本信息200
7.5.2数据的随机访问200
7.5.3列值读取201
7.5.4数据的增、删、改202
7.5.5数据集的分割、合并203
7.5.6 DataSetMetaData204
7.5.7 DataSet接口汇总205
7.6 DBAccess接口实现207
7.6.1配置接口实现207
7.6.2连接管理实现208
7.6.3事务接口实现214
7.6.4SQL接口实现216
7.6.5批操作接口实现222
7.6.6存储过程接口实现223
7.6.7数据集转换为对象实现229
7.6.8对象的直接数据库操作实现235
7.7总结237
第8章 JSON转换器238
8.1引言238
8.1.1传统Web应用238
8.1.2 Ajax应用239
8.1.3数据规则241
8.2需求分析243
8.2.1需求场景243
8.2.2核心功能244
8.3接口设计247
8.3.1设计原则247
8.3.2 JSON->Java248
8.3.3 Java->JSON248
8.3.4接口汇总249
8.4接口实现249
8.4.1 json2Obj实现249
8.4.2 obj2Json实现254
8.5总结257
第9章 权限组件258
9.1引言258
9.2需求分析258
9.2.1应用场景258
9.2.2权限分类260
9.2.3角色265
9.2.4组织结构266
9.2.5需求汇总266
9.3接口设计267
9.3.1标识用户268
9.3.2获得发起请求的用户268
9.3.3拦截HTTP请求270
9.3.4权限组件和应用系统之间访问270
9.3.5应用系统的权限定义273
9.3.6应用系统调用权限组件282
9.3.7用户权限变更282
9.3.8 Session超时失效283
9.3.9 AuthFilter接口汇总285
9.3.10 AuthFilterImpl实现原型286
9.3.11部署配置287
9.4接口实现288
9.4.1实现思路288
9.4.2私有成员变量288
9.4.3 init方法实现290
9.4.4 doFilter方法实现293
9.4.5 canAccess方法实现298
9.4.6 reloadRoleAuths方法实现298
9.4.7 sessionDestroy方法实现300
9.5权限应用示例301
9.5.1系统简介301
9.5.2运行示例302
9.5.3实现介绍305
9.6总结308
共性的业务问题,是组件的产生来源10
技术与业务对齐,这是组件设计的第一位重要原则11
最简单的组件,就是一个类14
高内聚!高内聚!单类组件,简单到极致!14
本质上讲,static关键字声明了一个全局变量。16
在泛型代码中,根本就没有参数化类型的信息39
发布函数的原型相对稳定,不会频繁发生修改76
从接口上看,只有一个Static方法,没有任何Get或Set方法,因此不满足IOC容器的规范,无法被放入IOC容器中,因此也无法与其他组件进行基于IOC容器的集成。这可是个大问题!!83
因此,使用IOC容器作为物理部署、实施的配置方式,是不合适的。这里编写的配置组件,是用于部署实施的有力武器!83
获取满足条件的Key集合,遍历Key集合,取出每个Key,判断Key是否是下面三种状态之一:acceptable,readable,writable,从而对应地进行接收连接、数据读取、发送数据的操作。127
大量的软件开发实践证明,进行复杂数据操作的应用系统中,存储过程是解决问题的最有效方案。158
应用程序的开发者,不需要编写太多类,就可以将结果集转换为对象,获得类似ORM框架的功能。最理想的情况就是一个类也不增加。179
作为组件设计者,应该让组件的使用者做且仅做他们必须做的事情,摒弃任何不必要、烦琐、无意义的环节。189
这种情况下,如何实现互相之间的访问,就成了一个难题!271
大多数Web应用,使用Spring作为IOC容器来实例化、配置各种后台组件。而Spring自身在Deployment Descriptor中是作为一个Listener被Web Container实例化的。Listener的初始化过程,早于Filter的初始化过程,因此当权限组件开始被WebContainer初始化时,SpringIOC容器和IOC容器内的各种后台组件都已经初始化完毕。这样,在权限组件的初始化参数中,配置一个类名,应用程序提供这个类的实现,而权限组件动态实例化这个类,通过这个类的实例作为桥梁,获得应用程序实例的访问,这种方式是可行的。271
只有角色产生了变化,才需要权限组件更新内部的权限数据。而用户变化、用户权限、用户角色变化等,都不需要权限组件更新内部的权限数据。282