Visual Basic 2005设计与开发专家教程
2008-7
清华大学出版社
史蒂芬
566
888000
本书的目标不是讨论Visual Basic语言本身,而是讨论开发更复杂的Visual Basic应用程序时会面临的复杂问题,讨论Visual Basic应用程序的设计、建模、用户界面设计、测试及部署等Visual Basic开发之前和之后应关心的问题,并深入讨论了线程、反射、打印及内存管理等高级主题。这些内容对于构建真正的高级应用程序是必不可少的,而其他书籍又较少涉及,因此,本书在一定程度上填补了其他书籍在Visual Basic开发方面留下的空白。
Rod Stephens,最初是一名数学家,但是在麻省理工学院进修时,他喜欢上了编程工作,并且从此以后走上了专业编程的道路。在其职业生涯中,他主要从事于编写如下领域方面的综合应用程序电话交换、账单处理、修理调度、税务处理、污水治理以及职业足球运动员训练等。
R
第Ⅰ部分 设计 第1章 语言选择 1.1 语言嗜好 1.2 缺点 1.2.1 解释,而不是编译 1.2.2 语言特性 1.2.3 多重继承 1.2.4 平台依赖 1.2.5 从Visual Basic 6升级 1.2.6 GUI构建 1.2.7 不够简洁 1.2.8 功能和灵活性 1.3 优点 1.3.1 自文档 1.3.2 原型制作与简单应用程序 1.3.3 IDE 1.3.4 语言相关性 1.3.5 垃圾收集 1.3.6 大人才池 1.4 小结 第2章 生命周期方法论 2.1 生命周期阶段 2.1.1 想法表述与细化 2.1.2 小组构建 2.1.3 需求收集 2.1.4 可行性分析 2.1.5 高层次的设计 2.1.6 较低层次的设计 2.1.7 实现 2.1.8 测试 2.1.9 开发 2.1.10 支持 2.2 生命周期模型 2.2.1 一次性应用程序 2.2.2 Waterfall 2.2.3 原型 2.2.4 混合与匹配 2.3 小结 第3章 敏捷方法论 3.1 敏捷编程 3.1.1 Crystal Clear 3.1.2 极限编程 3.1.3 敏捷与传统生命周期 3.1.4 敏捷优势与弱点 3.2 契约式设计 3.3 用于敏捷开发的 Microsoft工具 3.4 小结 第4章 面向对象的设计 4.1 Bug Hunter示例 4.2 构建对象模型 4.2.1 挑选候选类 4.2.2 将候选类转换成类 4.2.3 添加内部类 4.2.4 添加数据库类 4.2.5 学习不同的设计观点 4.2.6 改进类 4.3 UML 4.3.1 用例图 4.3.2 类图 4.3.3 顺序图 4.3.4 活动图 4.3.5 状态图 4.3.6 组件图 4.3.7 部署图 4.3.8 UML小结 4.4 UML工具 4.5 小结 第5章 用户界面设计 5.1 UI设计原则 5.1.1 赋予用户控制权 5.1.2 关注任务 5.1.3 提出忠告,而不是采取行动 5.1.4 帮助用户做正确的事 5.2 用户 5.2.1 了解用户的工作 5.2.2 尊重用户 5.2.3 了解用户的环境 5.2.4 了解用户类型 5.3 表单 5.3.1 MDI与SDI 5.3.2 重新调整表单大小 5.3.3 编辑器 5.3.4 属性表单 5.4 设计原则 5.4.1 不同阶段中的原型 5.4.2 提升表单流程 5.4.3 组合相关条目 5.4.4 支持调整大小 5.4.5 支持不同的字体大小 5.4.6 优化菜单 5.4.7 明智地使用空间 5.4.8 设计优秀标题 5.4.9 保留状态 5.4.10 撤销与重做 5.4.11 适应不同的技能水平 5.4.12 提供适当的反馈 5.5 一致性 5.6 小结 第6章 数据存储器设计 6.1 关系数据库 6.2 关系数据库产品 6.3 编译到代码中的数据 6.4 资源文件 6.5 卫星程序集 6.6 系统注册表 6.7 INI文件 6.8 XML 6.9 其他文本文件格式 6.10 对象数据库 6.11 小结 第7章 设计模式 7.1 创建模式 7.1.1 克隆 7.1.2 工厂 7.2 关系模式 7.2.1 Adapter 7.2.2 Facade 7.2.3 Interface 7.3 行为模式 7.3.1 抽象基类 7.3.2 Chain of Responsibility 7.3.3 Chain of Events 7.3.4 Command 7.3.5 Delegation 7.3.6 模型、视图和控制器 7.3.7 Property Procedure 7.3.8 快照 7.3.9 Strategy 7.4 更多信息 7.5 小结 第Ⅱ部分 元开发 第8章 代码片断、宏和插件 8.1 代码片断 8.1.1 使用代码片断 8.1.2 建立代码片断 8.1.3 安装代码片断 8.1.4 共享代码片断 8.2 宏 8.2.1 记录宏 8.2.2 编辑宏 8.2.3 修改宏 8.2.4 使用样本宏 8.2.5 定制Visual Studio 8.2.6 共享宏 8.3 插件 8.3.1 创建插件 8.3.2 加入插件代码 8.3.3 创建更好的插件 8.3.4 学习其他对象 8.4 小结 第9章 脚本 9.1 脚本安全 9.2 执行SQL语句 9.2.1 执行查询 9.2.2 生成查询 9.2.3 运行命令 9.3 执行Visual Basic 代码 9.3.1 运行代码 9.3.2 公开对象模型 9.3.3 简化脚本 9.4 表达式求值 9.5 小结 第10章 自定义控件与组件 10.1 建立派生控件 10.2 设置工具箱位图 10.3 测试控件 10.4 建立UserControl 10.5 从头开始建立控件 10.6 建立组件 10.6.1 建立扩展程序提供程序 10.6.2 一个简单的示例 10.6.3 更为实用的一个示例 10.7 小结 第11章 属性支持 11.1 自定义综述 11.2 显示并编辑LineWidth 11.2.1 LineWidthEditor 11.2.2 LineWidthListBox 11.3 显示并编辑LineColor 11.4 显示并编辑PolyPolyline 11.4.1 PolyPolylineConverter 11.4.2 PolyPolylineEditor 11.5 显示智能标记 11.6 显示属性表 11.7 显示对象属性 11.8 小结 第12章 特性和XML注释 12.1 特性(attribute) 12.1.1 辅助Properties窗口 12.1.2 辅助窗体设计器 12.1.3 辅助代码编辑器 12.1.4 Helping Serialization 12.2 XML注释 12.2.1 自动生成文档 12.2.2 设计时支持 12.2.3 推荐使用的标记 12.3 建议 12.4 小结 第Ⅲ部分 开发 第13章 文档 13.1 编写文档的时机 13.2 文档类型 13.2.1 用户文档 13.2.2 开发人员文档 13.3 XML文档 13.3.1 自定义XML标记 13.3.2 使用XML文档 13.3.3 XmlDocToText 程序 13.3.4 XmlDocToHtml程序 13.4 小结 第14章 开发理念 14.1 为人设计程序 14.2 掌握用户 14.3 让程序查找错误 14.4 让程序先运行起来 14.5 三思而后行 14.6 一步一个脚印 14.7 使用面向对象原则 14.8 利用Visual Studio 14.9 担心最弱的一个环节 14.10 保存一切 14.11 避免使用最新的产品 14.12 使用敏捷方法的部分技术 14.13 小结 第15章 编码标准 15.1 名称 15.1.1 匈牙利表示法 15.1.2 组件名称 15.1.3 常量名称 15.1.4 例程的变量名称 15.1.5 其他名称 15.1.6 Boolean名称 15.1.7 缩写 15.1.8 转义名称 15.1.9 类名称 15.1.10 属性名称 15.1.11 方法名称 15.1.12 事件名称 15.2 声明变量 15.3 重载以及可选参数 15.4 ParamArray 15.5 If Then和Select Case 15.6 代码块结尾 15.7 退出点 15.8 Exit For、Exit Do以及Continue 15.9 End 15.10 小结 第16章 防止bug 16.1 捕获bug 16.1.1 等待bug 16.1.2 全局错误处理 16.1.3 猎获bug 16.2 Try Catch块 16.3 对bug的响应 16.4 小结 第17章 测试 17.1 测试哲学 17.1.1 尽早和经常测试 17.1.2 测试一切 17.1.3 永远保存测试 17.1.4 不敌视指出bug的同事 17.2 测试种类 17.2.1 子单元测试 17.2.2 单元测试 17.2.3 集成测试 17.2.4 系统测试 17.2.5 回归测试 17.3 测试技术 17.3.1 穷尽测试 17.3.2 黑盒测试 17.3.3 白盒测试 17.3.4 随机测试 17.4 测试机制 17.4.1 在应用程序内测试 17.4.2 在应用程序外测试 17.4.3 一个测试示例 17.5 测试工具 17.6 Visual Studio测试工具 17.7 GUI测试 17.8 小结 第18章 部署 18.1 部署模型 18.1.1 用户类型 18.1.2 主要和次要版本 18.1.3 敏捷发布 18.2 部署方法 18.2.1 ClickOnce 18.2.2 Windows Installer 18.2.3 其他解决方案 18.2.4 Xcopy 18.3 小结 第Ⅳ部分 具体技术 第19章 闪屏 19.1 确定闪屏内容 19.2 显示闪屏 19.3 显示About对话框 19.4 提供反馈 19.5 控制条目位置 19.6 表单成形 19.7 填充文本 19.8 旋转文本 19.9 显示隐藏的屏幕 19.10 小结 第20章 打印 20.1 事件驱动的打印 20.2 打印表单 20.3 封装文本 20.4 使文本流动 20.5 过程化打印 20.6 小结 第21章 线程 21.1 线程的优缺点 21.1.1 优点 21.1.2 缺点 21.2 使用后台工作程序 21.3 UI线程 21.4 提供反馈 21.5 提供图形化反馈 21.6 分割任务 21.7 SyncLock 21.8 小结 第22章 反射 22.1 探索程序集 22.2 探索枚举 22.3 动态地加载类 22.4 动态地调用方法 22.5 发现资源 22.6 检索已知资源 22.7 小结 第23章 内存管理 23.1 垃圾收集 23.2 结束 23.3 处置资源 23.4 处置自定义类 23.5 预先分配对象 23.6 弱引用 23.7 改进垃圾收集 23.8 小结
第Ⅰ部分 设计 第1章 语言选择 本书第1部分的这几章主要介绍在开始编程之前发生的活动。这些活动描述了开发和,设计方法以及一些有用的设计技术。许多开发人员会轻易地跳过这些阶段,当他们最初的设想被证明不适合于正在开发的应用程序时,在以后会为此付出巨大的代价。 本章主要介绍选择开发语言时应考虑的一些问题。本书假定您会使用Visual Basic,不过本章会指出这种语言的一些缺陷。由于您可能会坚持使用Visual Basic,因此值得了解一下该语言的弱点以及可以针对这些弱点做些什么。如果您知道可能遇到哪些麻烦,就会比较容易处理它。在极端情况下,可以把一些问题较大的模块移动到用另一种语言(比如C#或C)编写的库中,然后从您的Visual Basic代码中调用这个库。例如,C++和C#对指针的处理比Visual Basic更好。如果您需要用一个库控制特殊用途的硬件,从C++或C#中调用那个库的例程会比较容易,尤其是当该库是用那些语言之一编写时。 提示: 笔者就有过多次这种经验,其中一次是在用“不安全”的数组操作来进行图形处理时。程序可以获得指向存储图像像素数据的内存的指针。C#程序可以把指针看作对数组的引用,而Visual Basic程序必须用APl函数把指针的内存复制到新教组中,而且当程序完成了对数据的操作时,它必须把结果复制回指针的位置。如果把图形处理代码放在C#模块中,并从VisualBasic中调用它,就可以避免这两次内存复制,从而节省一些时间。 1.1 语言嗜好 如果到网上搜一些对编程语言的评论,您会发现某人使用的编程语言和他(她)认为最好的语言之间有很强的关联性。您会发现许多C#和C++程序员会告诉您Visual Basic的缺点,许多Visual Basic开发人员则会细细地倾诉C#和C++有什么毛病。当您大范围地使用一种语言时,您会觉得这种语言是最自然的,而其他语言看起来就比较别扭。
本书着眼于读者在掌握了Visual Basic语言本身的基本知识后,对于建立一个成功的项目来说还需知道的设计和开发策略,详细论述了在开始Visual Basic开发之前的设计活动及开发之后发生的过程(如部署、更新管理和测试等)。其中,融入了许多作者在多年的项目实践中总结的开发理念,读者可以借此进入到一个更高的开发境界。 本书主要内容 如何向应用程序添加脚本、反射和高级打印功能 如何为Visual Basic 2005开发环境编写插件 如何使用UserControl、子类和从头开始的方法构建自定义控件 使应用程序的开发和维护更容易的好建议 如何使用高级调试和测试技术 如何使用新的Visual Basic 2005线程工具 本书读者对象 本书适用于已有Visual Basic 2005开发经验并已熟悉该语言的高级Visual Basic程序员。
Visual Basic 2005设计与开发专家教程 PDF格式下载