主页 详情

《Visual C#基于组件的开发》_(美)Ted Faison著;战晓苏译_11066467_7302063257

【书名】:《Visual C#基于组件的开发》
【作者】:(美)Ted Faison著;战晓苏译
【出版社】:北京:清华大学出版社
【时间】:2003
【页数】:888
【ISBN】:7302063257
【SS码】:11066467

最新查询

内容简介

第Ⅰ部分 概论

第1章 开发过程

1.1 组件开发

1.1.1 常见错误

1.1.2 项目管理风险

1.2 开发阶段

1.2.1 瀑布过程

1.2.2 初始需求中的问题

1.2.3 连续细化的过程

1.2.4 选择组件

1.2.5 购买第三方组件的风险

1.2.6 微软开发过程

1.3 分析阶段

1.3.2 错误的方法

1.3.1 编制预算的艺术

1.3.3 正确的方法

1.3.4 用例

1.3.5 交互图

1.4 设计阶段

1.4.1 熟悉最终用户

1.4.2 熟悉性能需求

1.4.3 从哪里开始

1.4.4 要完成什么

1.4.5 设计要具有可测试性

1.5 实现阶段

1.5.1 确保跟踪变化

1.5.2 编码原则

1.5.3 测试器

1.6 测试

1.6.3 验证测试

1.6.2 集成测试

1.6.1 单元测试

1.6.4 回归测试

1.6.5 确定在何时发布——故障恢复率和错误反馈率

1.7 部署阶段

1.8 部署后的日子:维护

1.9 小结

第2章 组件结构

2.1 Conway定律

2.2 父组件与子组件

2.3 组件的分级

2.3.1 大片还是小片

2.3.2 大小与复杂度

2.4 委托

2.5 用委托限定特性

2.6 聚集

2.7 深度聚集

2.8 线程

2.9 小结

第3章 组件设计

3.1 UML

3.1.1 类图

3.1.2 交互图

3.2 设计模式

3.2.1 创建型模式

3.2.2 结构型模式

3.2.3 行为模式

3.3 不要忘记-ilities

3.3.1 可操纵性

3.3.2 可测试性

3.3.3 可用性

3.3.4 可部署性

3.3.6 可靠性

3.3.5 可维护性

3.3.7 灵活性

3.3.8 可移植性

3.4 放松一下——没有完美的设计

3.5 优秀设计的标志

3.6 小结

第4章 组件分类

4.1 如何分类组件

4.1.1 形式方法问题

4.1.2 分类系统

4.2 前端组件

4.2.1 独立应用程序

4.2.2 分布式应用程序

4.2.3 基于浏览器的应用程序

4.3.2 服务器区

4.3.1 群集服务器

4.3 中间层

4.3.3 跟踪用户状态

4.3.4 数据库连接池

4.4 后端

4.5 小结

第5章 调试

5.1 几个关于调试的故事

5.2 常见的故障

5.3 不同种类的调试器

5.3.1 Visual Studio .NET集成调试器

5.3.2 DbgClr

5.3.3 CORDBG

5.4 一般的调试技术

5.4.1 断点

5.4.2 运行中修改代码

5.4.3 运行中修改数值

5.4.4 单步执行代码

5.4.5 测试数据

5.4.6 栈跟踪

5.4.7 调试多语言代码

5.5 检测代码

5.5.1 使用Debug类

5.5.2 使用Trace类

5.5.3 断言

5.5.4 使用Fail()方法

5.5.5 重定向调试和跟踪消息

5.5.6 条件编译

5.5.7 条件代码属性

5.6 调试情况的种类

5.7 几个通用的提示

5.9 DLL

5.8 独立应用程序

5.9.1 一般的问题

5.9.2 依附于过程

5.9.3 及时依附

5.9.4 从过程分离

5.10 小结

第6章 部署

6.1 旧方法

6.3.1 什么是程序集

6.2 新方法

6.3 程序集

6.3.2 程序集的结构

6.3.3 查看程序集数据

6.3.4 私有程序集

6.3.5 共享程序集

6.3.6 查看全局程序集高速缓存

6.5 使用安装向导

6.4 部署方法

6.6 创建基本的安装程序

6.6.1 添加项目输出组

6.6.2 编辑安装项目属性

6.6.3 常用内容

6.6.4 闪烁对话框

6.6.5 欢迎对话框

6.6.6 用户授权对话框

6.6.7 用户信息对话框

6.6.8 单选按钮对话框

6.6.9 复选框对话框

6.6.10 文本框对话框

6.6.11 安装文件夹对话框

6.6.12 自述文件对话框

6.6.13 注册用户对话框

6.6.14 使用条件

6.7 预编译代码

6.7.1 何时进行预编译

6.7.2 何时不进行预编译

6.8 在Internet和Intranet上部署软件

6.8.1 使用Web页

6.8.2 CAB文件

6.8.3 智能客户端

6.9 部署共享组件

6.10 许可

6.10.1 设计时许可

6.10.2 运行时许可

6.10.3 创建许可

6.10.4 使用经过许可的组件

6.11 小结

第7章 Windows窗体组件

7.1 Windows窗体

第Ⅱ部分 前端组件

7.2 设计ProcessViewer

7.3 开发ProcessViewer

7.3.1 获取进程数据

7.3.2 进程的排序

7.3.3 填充TreeView

7.3.4 为TreeView项设置位图

7.3.5 为菜单项设置位图

7.3.6 控制右边的窗格

7.3.7 限定窗体的尺寸

7.3.8 显示进程和模块的细目

7.3.9 访问命令行参数

7.3.10 使用正则表达式

7.3.11 获取操作系统的消息

7.3.13 获取环境变量

7.3.12 确定当前目录

7.3.14 确定是否有鼠标连接到系统中

7.3.15 确定用户的系统是否连接到网络上

7.3.16 获取逻辑驱动器的列表

7.3.17 使用文本文件

7.4 剪切、复制和粘贴

7.5 打印

7.6 ProcessViewer的完整代码

7.7 本地化

7.7.1 地区的指定

7.7.2 用程序实现改变地区

7.7.3 资源文件的本地化

7.7.4 窗体本地化

7.7.5 字符串的本地化

7.7.6 带有参数置换的短语

7.7.7 MyLocalizedForm的代码

7.7.9 使用ResEditor

7.7.8 图像的本地化

7.7.10 使用ResxGen

7.7.11 建立本地化的图像

7.8 小结

第8章 使用WebBrowser组件创建前端

8.1 微软的WebBrowser组件

8.2 设计MyWebBrowser

8.3 开发MyWebBrowser

8.4 引入WebBrowser ActiveX组件

8.4.1 简单的方法

8.4.2 困难的方法

8.4.3 运行时可调用的包装

8.4.4 添加工具栏

8.4.5 添加打印支持

8.4.6 添加导航支持

8.4.7 完整的代码

8.5 创建自定义的Web浏览器

8.5.1 引入并包装COM接口

8.5.2 IOleObject和IOleClientSite

8.5.3 使用ICustomDoc

8.5.4 IDocHostUIHandler

8.5.5 由通过COM接口调用的方法返回值

8.5.6 常见的自定义

8.5.7 IDocHostUIHandle方法详述

8.6 完整的代码

8.7 小结

第9章 自定义控件

9.1 过去的自定义控件

9.2 选择正确的基类

9.3 设计组件

9.3.2 更改控件的类名

9.3.1 创建自定义控件库

9.3.3 更改控件的Toolbox图标

9.3.4 向Toolbox添加组件

9.3.5 在稳定前向Toolbox添加组件

9.3.6 创建测试器

9.3.7 添加对测试器的引用

9.3.8 使用拖放来添加自定义控件

9.3.9 手工添加自定义控件

9.3.10 运行自定义控件的代码

9.4 组件的开发

9.4.1 添加鼠标事件处理程序

9.4.2 添加键盘事件处理程序

9.4.3 绘制控件

9.4.4 使用World变换

9.5 在文件系统中查找文件

9.6 添加上下文菜单

9.7 支持拖放

9.8 生成随机数

9.9 设计时属性

9.9.1 添加简单的属性

9.9.2 添加属性的说明

9.9.3 在属性窗口中禁止显示属性

9.9.4 非公共属性与属性窗口

9.9.5 在属性窗口中隐藏继承的属性

9.9.6 在类别下添加属性

9.9.7 禁止存储属性

9.9.8 属性编辑器

9.9.9 实现类型转换器

9.10 MyCustomControl的完整代码

9.11 小结

第10章 用户控件

10.1 用户控件与自定义控件

10.2 设计图形设计器组件

10.3 开发组件

10.3.1 创建用于设计器的组件

10.3.2 由MyComponent派生专用类

10.3.3 绘制Windows系统图标

10.3.4 显示和管理抓取句柄

10.3.5 用抓取句柄调整组件尺寸

10.3.6 用橡皮圈选择项

10.3.7 管理选择项

10.3.8 在屏幕上移动组件

10.3.9 设计器组件

10.3.10 添加和删除项

10.4 控制数据输入

10.4.1 在键入时检验键值

10.4.2 使用正则表达式验证

10.4.3 使用内置的方法

10.4.4 确认事件

10.5 小结

第11章 数据库前端

11.1 建立数据库连接

11.2 基于导航器的窗体

11.2.1 装载记录

11.2.2 导航记录集

11.2.3 插入新记录

11.2.4 删除记录

11.2.5 向数据库提交修改

11.2.6 取消对当前记录的编辑

11.2.7 取消所有编辑

11.3 Windows窗体中的数据绑定

11.3.1 把属性同数据源绑定

11.3.2 简单数据绑定

11.3.3 VS.NET提示

11.3.4 预览由数据适配器取出的行

11.3.5 完整源代码

11.4 基于网格的窗体

11.4.1 定制网格

11.4.2 数字、日期和时间格式

11.5 管理网格中的数据

11.5.1 装载记录

11.5.2 向数据库提交修改

11.5.3 回调所有的记录

11.5.4 使用默认值对行进行预填充

11.6 主-从窗体

11.6.1 创建窗体

11.6.2 窗体如何工作

11.6.3 使用嵌套行的主-从网格

11.7 数据库报表窗体

11.7.1 创建简单报表

11.7.2 创建一个更复杂的报表

11.8 小结

第12章 软件前端的一些技巧

12.1 显示一个闪烁窗口

12.2 管理用户的设置信息

12.2.1 特定的目录

12.2.2 应用二进制文件

12.2.3 应用文本文件

12.2.4 应用注册表

12.3 管理最近使用的文件

12.3.1 应用注册表

12.3.2 应用快捷方式

12.3.3 声明COM接口

12.3.4 使用COM方法读写字符串

12.3.5 COM对象ShellLink的一个包装器

12.3.6 应用FileShortcut类管理最近使用的文件列表

12.4 小结

第Ⅲ部分 中间层组件

第13章 Web窗体

13.1 ASP有什么缺陷

13.2 ASP.NET的改进之处

13.3 基础知识

13.3.1 告别包含文件,使用类

13.3.2 发布Web窗体

13.3.3 处理Web窗体事件

13.3.4 获取用户消息

13.4 一个Web应用程序的例子

13.5 设计Web应用程序

13.6 实现Web应用程序

13.6.1 PostBacks

13.6.2 添加事件处理程序

13.7 测试Web窗体

13.7.1 使用Response对象

13.7.2 使用重定向的方法返回全新的页面

13.7.3 使用跟踪状态

13.8 管理状态

13.8.1 使用cookies

13.8.2 使用隐藏数据

13.8.3 使用查询字符串

13.8.4 使用ViewState

13.8.5 使用对话变量

13.9 小结

第14章 Web控件

14.1 内置的Web控件

14.2 需要Web控件的原因

14.3 Web控件工作原理

14.4 开发一个定制的Web控件

14.6 开发Web控件

14.5 设计Web控件

14.6.1 定制发布

14.6.2 依赖浏览器的发布

14.6.3 添加定制事件

14.6.4 添加定制属性

14.6.5 MyWebControl控件的完整代码

14.6.6 移植控件到DLL中

14.6.7 创建测试装置

14.7 确认用户输入

14.7.1 指定显示出错信息的位置

14.7.2 Text属性和ErrorMessage属性的区别

14.7.3 RequiredFieldValidator组件

14.7.4 CompareValidator组件

14.7.5 RangeValidator组件

14.7.6 CustomValidator组件

14.7.7 ValidationSummary组件

14.7.8 RegularExpressionValidator组件

14.7.9 一个使用验证控件的完整例子

14.7.10 使用ValidationSummary组件的完整例子

14.8 小结

第15章 用户控件

15.1 什么是用户控件

15.2 基础知识

15.3 用用户控件创建Web应用程序

15.4 设计导航用户控件

15.5 开发导航

15.6 向Web窗体添加导航

15.7 建立图文框设置

15.8 开发内容用户控件

15.8.1 添加属性

15.8.2 添加事件处理程序

15.8.3 响应页面请求

15.9 建立HTML网页

15.8.4 把内容控件添加到Web窗体中

15.10 把Web窗体转换为用户控件

15.11 测试用户控件

15.12 把用户控件包装在DLL文件中

15.13 完整的代码

15.14 小结

第16章 服务

16.1 Web服务

16.2 基础知识

16.2.1 声明Web方法

16.2.2 数据输入和数据输出

16.2.3 支持强制类型转换

16.2.4 SOAP

16.2.5 WSDL

16.2.6 DISCO

16.2.7 UDDI

16.2.8 开发Web服务

16.2.9 测试Web服务

16.2.10 状态维护

16.2.11 安全性

16.2.12 发布动态搜索信息

16.2.13 将Web服务传送到专用机上

16.3 Windows服务

16.3.1 设计服务

16.3.2 开发服务

16.3.3 交互式服务

16.3.4 测试服务

16.3.5 添加系统托盘图标

16.3.6 添加服务控制程序

16.3.7 安装服务

16.3.8 自定义服务安装

16.3.9 最后几个注意事项

16.4 小结

第17章 安全性

17.1 Web应用程序的安全性

17.2 验证

17.2.1 基于IP地址的验证

17.2.2 通过凭证鉴定用户

17.2.3 其他方法

17.2.4 利用基本验证手段保护Web应用程序

17.3 ASP.NET的安全措施

17.3.1 假冒

17.3.2 窗体验证

17.3.3 一个简单的例子

17.3.4 将验证信息保存到数据库中

17.4 小结

17.3.5 护照验证

第Ⅳ部分 后端组件

第18章 ADO.NET体系结构

18.1 什么是后端

18.2 ADO.NET的主要要素

18.2.1 数据集

18.2.2 数据适配器

18.2.3 数据读取器

18.2.4 数据表

18.2.5 数据视图

18.2.6 数据绑定

18.3 连接到数据库

18.3.1 打开连接和断开连接

18.3.2 连接池

18.3.3 性能最大化

18.3.4 配置连接池

18.4.1 添加记录

18.4 更改数据库

18.4.2 更新记录

18.4.3 删除记录

18.4.4 处理数据集问题

18.4.5 使修改生效和对错误进行分析

18.5 一个完整的例子

18.6 小结

第19章 数据库Web服务

19.1 什么是数据库Web服务

19.2 设计服务

19.3 实现服务

19.4 为客户端提供Web方法

19.5 测试Web服务

19.5.1 使用Internal Web Browser进行测试

19.5.2 使用Windows应用程序进行测试

19.6 异常处理

19.7 事务处理

19.8 测试数据库Web服务

19.9 小结

第20章 多线程组件

20.1 线程的概念

20.1.1 单元线程

20.1.2 .NET线程与同步

20.1.3 给父线程回传信息

20.1.4 多个线程执行同一段代码

20.1.5 等待多个事件中的一个

20.1.6 线程和COM对象

20.1.7 无阻塞调用

20.1.8 线程池

20.2 线程管理

20.2.1 启动线程

20.2.2 检查线程的状态

20.2.3 线程的暂停与同步

20.2.4 恢复暂停的线程

20.2.5 停止线程

20.2.6 异步处理

20.2.7 同步处理

20.2.8 跨线程共享资源

20.2.9 从其他线程调用Windows窗体控件

20.3 创建多线程组件:StressTester

20.3.1 设计组件

20.3.2 实现组件

20.3.3 调试组件

20.4 小结

第21章 网关服务

21.1 什么是网关服务

21.2.1 基本的Remoting组件

21.2 Remoting Framework

21.2.2 一个简单的服务器端对象

21.2.3 从客户端访问远程对象

21.2.4 将客户端连接到服务器上

21.2.5 远程对象的激活模式

21.3 创建网关服务

21.3.1 建立系统的体系结构

21.3.2 设计网关服务

21.3.3 实现网关服务

21.3.4 设计服务主机应用程序

21.3.5 实现服务主机应用程序

21.3.6 设计服务提供者模拟器

21.3.7 实现服务提供者模拟器

21.3.8 测试MyGatewayService

21.3.9 将所有部分组装起来

21.3.10 处理远程异常

21.4 小结


书查询(www.shuchaxun.com)本网页唯一编码:
161cb56450e34dcf3ca3525579414379#450cfbe600e27d8d1f97bad8a7cbf5fc#204847561#Visual C#基于组件的开发_11066467.zip