公布《编程的奥秘》配套升级版《.NET 2.0面向对象程序设计(VB2005篇)》写作构想及全书目录

本文主要是介绍公布《编程的奥秘》配套升级版《.NET 2.0面向对象程序设计(VB2005篇)》写作构想及全书目录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《编程的奥秘》配套升级版

.NET 2.0面向对象程序设计(VB2005篇)》

写作缘由

       微软中国公司与电子工业出版社计划出一系列Visual Studio 2005的技术书籍,找着了我负责VB2005一书的写作,除此之外,还有国内知名的作者徐锋写作《ASP.NET 2.0》,赵松涛写作《SQL Server2005》等。

书籍写作构想:

       我去年写了一本《编程的奥秘》,选用VB.NET语言和VS2003,书出版以后,收到了很多读者的来信,对这本书予以了充分的肯定,同时也表达了不少中肯的意见,在此,我对这些热心的读者给予衷心的感谢,读者的反馈也激励了我努力写出更高质量的原创技术书籍,帮助更多的人掌握软件开发技术。

        虽然我个人认为语言仅是一个工具,但许多读者来信要求我下本书用C#写作。考虑到大家的要求,这本书以VB2005语言为主,但在一些语法关键点上同步介绍C# 2.0,并在附录集中介绍VB2005C#2.0的语法差异,我希望做到:一个基本功扎实的程序员阅读完这本书后,可以自如地使用VB2005C# 任何一种语言编程。

     虽然微软公司要求我讲清楚VB2005语言,但我打算以VB2005为载体,深入介绍面向对象理论,努力突显出面向对象技术与理论的跨语言特性,在正文中不仅有C#代码,甚至会有JavaC++的特性对比。这部分内容,集中在第二篇中。

除了介绍语言,我还计划对.NET Framework编程的一些高级特性比如多线程,动态代码编译,反射,串行化等作深入的探讨与应用,努力向读者展示.NET 2.0强大而灵活的功能。这也是微软公司要求我们作者做到的。我相信,在了解了.NET这一主流软件开发平台的特性之后,您一定会喜欢上她,并乐意在此平台之上开发自己的软件。呵呵,微软公司看到我给他们做广告,一定高兴。但从客观的软件技术角度来看,我认为.NET的确是一个优秀的软件开发平台,这点是必须承认的。

VS2005 TeamSuite版本在软件工程领域特性方面有很大的增强,在本书中,从软件工程角度,集中介绍了VSTS版本中的代码自动化、单元测试、静态代码分析、程序性能分析等特性,并通过实例展示这些特性如何被用来提升代码的质量。相信这部分对于正在软件开发一线努力工作的程序员们有较大的帮助。

我个人一直强调实践的重要性,因此,在本书中我设计了两个大的实例,一个是经典的四则运算器,其目的是展示数据结构等软件理论在软件开发中的应用,并展示出如何应用面向对象的思想去设计软件,其实是OODOOP的实例介绍。此实例目前已开发完成。

另一个大的实例是一个经典游戏,我选择的是人人都喜欢玩的俄罗斯方块,展示.NET2.0和面向对象理论给软件开发所带来的强大推动力。此实例目前正处于设计阶段。

其余的小例子就更多了,这点相信读过我的《奥秘》一书的读者有体会。

这本书的内容与《编程的奥秘》其实是一个深化与互补的关系,唯一相同的可能就是语言介绍部分,但上面也说了,本书的语言介绍是有相当深度的。因此,本书的读者最少应该学过C,并且具备一定的开发经验,比较适合计算机专业研究生和高年级本科生,以及在软件公司的程序员阅读。如果您以前没学过面向对象语言,没有编程经验,请先去看《编程的奥秘》一书,至少看完前四章。补充一下,《奥秘》一书的后半部介绍的内容是具有相当深度的,此书的章节划分具有明显的阶梯性,不能跳着读。而本书各部分地位是平等的,可以跳着读。

下面是本书目录初稿,敬请读者提出宝贵意见。

全书目录

  第一篇 认识.NET 2.0VS2005

    第一章 认识.NET

      1.1 什么是.NET?

      1.2 面向对象的Visual Basic语言

        1.2.1 面向对象技术简介

          1 结构化编程与面向对象编程

          2 OOADOOP的基本概念

          3 四种基本的面向对象特性: 封装 抽象 继承 多态

        1.2.2 Basic语言的发展史:VB与其它语言如C#JavaC++的对比

        1.2.3 支持混合语言开发的.NET软件开发平台

    第二章 学会使用集成开发环境VS2005

      2.1 安装与版本说明:在2005中升级2003的项目

      2.2 熟悉帮助文档MSDN及相关网站:学会配置联机帮助

      2.3 可以创建的项目类型

      2.4 解决方案管理器的使用

      2.5 界面设计器与代码编辑器

        2.5.1 使用控件设计用户界面

        2.5.2 代码编辑器的使用

      2.6 理解事件驱动的编程模式

      2.7 编译和运行程序

        2.7.1 程序启动对象的确定

        2.7.2 两种开发模式:设计模式与运行模式

        2.7.3 两种编译模式:Debug模式与Release模式

      2.8 学会程序调试方法

        2.8.1 软件中存在的三种错误类型

        2.8.2 学会使用VS 2005调试程序:

       实例:平方根的简化

           即时窗口、设置断点、条件编译

      2.9 .NET程序的发布

        2.9.1 发布前的准备

        2.9.2 了解.NET程序正确运行的条件

        2.9.3 .NET程序发布方式:XCOPY ClickOnce、制作安装程序

      2.10 总结:RAD环境下编程的基本概念

  第二篇 深入把握面向对象理论与技术

    第三章 理解类与对象

      3.1 从引例开始:介绍类与对象的关系

        引例1:单击按钮显示多个窗体

        引例2:开发一个实现加减乘除功能的MathOpt

      3.2 编写与使用类

        3.2.1 设计自己的类

          1 类的组成:学会编写方法,属性与字段,列出C语言中的对应的概念

              成员的访问级别

              设计具有混合访问级别的属性

            运算符重载

          2 特殊的类:模块

        3.2.2 类的可视化设计

          向项目中加入类图

          使用类图设计类

      3.3 理解对象

        3.3.1 数据类型的基本概念

        3.3.2 值类型变量与引用类型变量

          1 变量的内存布局

          2 IsIsNot运算符比对对象引用

          3 赋值运算符的含义

        3.3.3 对象的创建与销毁:构造函数,垃圾收集机制

      3.4 类库工程与Assembly

        1 类库的使用:Imports语句、命名空间

        2 使用VS2005开发类库

          Partial

        3 程序集与动态链接库

        4 组件化开发:项目依赖与编译顺序

         

    第四章 基于对象的编程

      4.1 对象的组合

        4.1.1 集合对象:

          1 集合的概念

          2 访问集合元素的访问

          3 .NET 2.0提供的常用集合对象:System.Collection命名空间中的类

         4.1.2 通过类之间的关联组合对象:剖析VS2005窗体和其上控件的关系

        4.1.3 应用:实现常用的数据结构

          数组、堆栈、链表、循环链表、双向链表、队列、树、多叉树、图

      4.2 在对象中传送信息

        4.2.1 对象间信息传送方式概述

          1基本方式:设置属性,调用方法

          2 高级方式:使用委托,事件驱动,回调,定时调用

        4.2.2 基本方式应用实例:多窗体编程

          1在程序中添加新窗体

          2 多窗体间的相互访问

          3窗体上控件的动态创建

      4.3 对象的保存与重建

        4.3.1 对象的序列化

        4.3.2 对象克隆

    第四章 继承,接口与多态

      4.1 继承的概念

        4.1.1 在继承中重载或覆盖基类的方法

        4.1.2 子类变量与父类变量之间的相互赋值

        4.1.3 继承条件下的对象创建与销毁

        4.1.4 .NET Framework中继承特性的应用实例:窗体继承

      4.2 抽象基类与接口

      4.3 理解多态

        4.3.1 接口多态与继承多态

        4.3.2 多态的应用

    第五章 异常处理

      5.1 异常处理的概念:为什么要使用异常处理?

      5.2 编程实现异常处理

        5.2.1 基本语法:Try...Catch...Finally

        5.2.2 扩充的语言特性:Using...End Using

      5.3 .NET 2.0公共语言运行库的结构化异常处理原理:编写高容错程序三原则

    第六章 范型编程

      6.1 四种编程范式介绍:结构化,基于对象,面向对象,范型

      6.2 使用范型的好处

        1 减少类的数目

        2 初步剖离数据结构与算法

        3 提升程序运行效率

        4 减少编码错误:可以在编译时检查类型,可以使用IDE的下拉列表

      6.3 范型的使用与开发

        6.3.1 使用.NET 2.0提供的范型类

        6.3.2 编写自己的范型类

    第七章 经典面向对象编程实例分析:四则运算器

      7.1 概述: 四则运算器特性分析

      7.1 理论的威力:建立数学模型

        7.1.1 算法分析:前序、中序与后序表达式

        7.1.2 用类封装数学算法

      7.2 软件体系结构设计

        7.2.1 确定软件处理流程

        7.2.2 明确软件功能需求:容错性和可扩展性

        7.2.3 设计用户界面:使用窗体嵌入实现界面切换

        7.2.4 设计结果

      7.3 迭代开发过程

        7.3.1 测试驱动的开发方法

        7.3.2 整个软件模块开发次序的确定

        7.3.3 进一步扩充与完善

  第三篇 基于.NET Framework 2.0开发

    第八章 使用My名字空间

    第九章 事件驱动与异步编程

      9.1 委托

          9.1.1 Delegate类与语言关键字Delegate

          9.1.2 使用委托

              1在多窗体编程中使用委托

              2 使用多路广播委托

      9.2 异步编程

        9.2.1 同步与异步的概念

        9.2.2 使用委托将同步方法包装为异步方法

      9.3 事件驱动

        9.3.1 事件的含义与应用场景

        9.3.2 编程实现事件

          自定义事件:CustomizeEvent关键字

        9.3.3 应用实例

          在多窗体编程中使用事件

          定时操作

     第十章 进程与线程

      10.1 理解概念:进程与线程,应用程序域

        用实例说明多线程切换与多进程切换在完成同一任务上的差别

           设计多层分布式实例,通过中间层组件模拟实现多进程访问共享资源。

      10.2 使用进程

         10.2.1 在程序中启动与停止进程

        10.2.2 获取进程信息

        10.2.3 在进程间共享信息

              剪贴板

              使用共享资源

      10.3 使用线程

        10.3.1 线程的创建,启动和停止

        10.3.2 线程同步

          1.线程状态与死锁

          2.等待另一个线程的完成

          3.访问共享资源

          4..NET 2.0中用于实现线程同步的类:

InterlockedMonitorMutex   ReaderWriterLockBackgroundWorker

        10.3.3 线程安全

          1 集合的线程安全

          2 多线程中的可视化控件:启动窗体问题

        10.3.4 使用线程池

        10.3.5 多线程应用实例:计算文件夹的容量

    第十一章 GDI+技术及其应用

      11.1 GDI+概论与计算机绘图原理

      11.2 GDI+基础

        绘图表面:Graphics对象

        绘制基本形状

        图形重绘原理:Paint事件的深入介绍

      11.3 GDI+应用

        11.3.1 绘制数学函数图形

          直角坐标系

          极坐标系

        11.3.2 递归与分形

      11.4 开发经典游戏——俄罗斯方块

    第十二章 .NET Framework深度应用

      12.1 开发软插件系统

        12.1.1 确定对象类型:TypeName TypeOfIs

        12.1.2 使用字符串名调用属性或方法:CallByName

        12.1.3 动态对象创建:使用反射技术,泛型反射技巧

      12.2 简易集成软件开发环境的开发

        动态代码生成与编译

      12.3 数据处理

        数据的压缩、加密和解密

  第四篇 使用VS2005软件工程特性提升开发效率

    第十三章 单元测试

      13.1 软件测试概论

        13.1.1 什么是软件测试?

        13.1.2 为何要进行软件测试?

        13.1.3 怎样进行软件测试?

      13.2 使用VS2005进行单元测试

        13.2.1 自动创建测试代码

        13.2.2 运行测试并修正代码错误

        13.2.3 测试类的私有方法

        13.2.4 了解测试的代码覆盖率

      13.3 分析.NET Framework单元测试框架的设计模式

      13.4 在软件开发中应用单元测试:测试驱动的开发方法

    第十四章 写出高质量的代码

      14.1 VS2005的代码自动化开发特性

        14.1.1 动态插入代码段:Insert Snippet

        14.1.2 查找变量的所有引用

        14.1.3 代码重构

        14.1.4 自动生成程序文档

      14.2 静态代码分析:Code Analyze

          14.2.1 IDE中激活静态代码分析特性

         14.2.2 使用 Error Correction options窗口更改代码

          14.2.3 利用Code Analyze特性学习编写优质代码

      14.3 程序性能分析

        14.3.1 程序为何运行得如此之慢?——影响程序性能的因素

        14.3.2 使用VS2005程序性能分析器

          1 两种不同的性能分析方法

            Sampling

            Instrmentation

          2 理解VS2005程序性能分析指标

            VS2005程序性能分析器的各个视图

          3 实例演示:在RichTextBox中给长文本加上行号

            瓶颈在哪里?

            修正代码,对比前后效果

        小结:如何编写更快的代码

  结束语:走向软件开发的新天地

  附录

    VB2005C#简明语法对应手册

  参考文献

  缩略语

  中英术语翻译对照表



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=791909


这篇关于公布《编程的奥秘》配套升级版《.NET 2.0面向对象程序设计(VB2005篇)》写作构想及全书目录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/618519

相关文章

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

C#多线程编程中导致死锁的常见陷阱和避免方法

《C#多线程编程中导致死锁的常见陷阱和避免方法》在C#多线程编程中,死锁(Deadlock)是一种常见的、令人头疼的错误,死锁通常发生在多个线程试图获取多个资源的锁时,导致相互等待对方释放资源,最终形... 目录引言1. 什么是死锁?死锁的典型条件:2. 导致死锁的常见原因2.1 锁的顺序问题错误示例:不同

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言