Chapter 01工程开始(ProjectKickoff)
1.1 一个工作上的小问题
1.2 问题的快速分析
1.3 关键技术调研
1.3.1 查找已存在的方案
1.3.2 动手写第一个程序(第一个原型)
1.3.3 一步研究的成果(第二个原型)
1.3.4 代码整理
1.4 本章总结
Chapter02需求分析和工程计划
2.1 头脑风暴法(Brainstorming)
2.2 把功能归类
2.3 关键路径法(Critical Path Method)
2.4 本章总结
Chapter03先行
3.1 命名规范(NamingNotations)
3.2 编码约定(CodingConventions)
3.3 版本控制(RevisionControl)
3.4.本章总结
Chapter04快速原型
4.1 计划变更及分析
4.2 实现搜索局域网内机器的功能
4.3 单元测试与调试基础
4.3.1 使用MbUnit
4.3.2 使用NUnit
4.3.3 组合参数测试
4.4 功能整合
4.4.1 设计简单的用户界面
4.4.2 整合搜寻局域网内机器的功能
4.4.3 整合发消息功能
4.5 本章总结
Chapter05重构之上:多线程
5.1.NETFramework的多线程编程
5.2 使用子线程来搜索IP地址
5.3 依据CPU个数创建多线程
5.4 使用线程池(ThreadPoo1)
5.5 使用异步编程模型(APM)
5.6 使用并行扩展(ParallelExtensions)
5.7 优化算法
5.8 本章总结
Chapter06重构之下:设计
6.1 程序设计简述
6.2 Object-oriented思想
6.2.1 封装(Encapsulation)
6.2.2 继承(Inheritance)
6.2.3 多态(Polymorphism)
6.3 O-O设计的原则
6.3.1 Open-closedPrinciple(OCP)
6.3.2 LiskovSubstitutionPrinciple(LSP)
6.3.3 DependencyInvesionPrinciple(DIP)
6.3.4 InterfaceSegregationPrinciple(ISP)
6.3.5 Single-ResponsibilityPrinciple(SRP)
6.3.6 Composition/AggregationPrinciple(CARP)
6.3.7 LawofDemeter(LoD)
6.3.8 InversionofControl(loC)
6.4 设计模式基础
64.1 DesigningfromContext(依据应用设计)
6.4.2 动机A(工厂方法模式)
6.4.3 动机B(抽象工厂模式)
6.4.4 动机C(生成器)
6.4.5 动机D(单件)
6.4.6 动机E(反射对单件的扩展)
6.4.7 动机F.(配置对工厂的扩展)
6.4.8 动机G(IDisposable)
6.4.9 动机H(泛型扩展)
6.5 本章总结
Chapter07.NET的诊断(Diagnostics)
7.1 简要介绍
7.2 Debugger类
7.3 DebLJg类
7.4 Trace类
7.5 定制化诊断信息
7.5.1 TraceSource类
7.5.2 配置监听器(TraceListeners)
7.6 用Trace还是TraceSource
7.7 设计更灵活的监听机制
7.7.1 OutputDebugString的运行机制
7.7.2 程序实现
7.8 本章总结
PART02.NETFramework基础
Chapter 08c#语言基础
8.1 字符串操作(StringOperation)
8.1.1 String
8.1.2 StringBuilder
8.1.3 字符串操作的效率
8.1.4 正则表达式(RegularExpression)
8.2 C#的数据类型
8.2.1 值类型(ValueType)
8.2.2 引用类型(ReferenceType)
8.2.3 类型的赋值与参数传递
8.2.4 装箱、拆箱(Boxing/Unboxing)
8.2.5 可为空类型(NullableTypes)
8.2.6 匿名类型(AnonymousTypes)
8.3 自定义类型
8.3.1 命名空间(namespace)
8.3.2 结构(struct)
8.3.3 接口(interface)
8.3.4 类(class)
8.3.5 枚举(enum)
8,3.6 自定义扩展方法
8.4 集合(CoIIections)
8.4.1 System.Arrav
8.4.2 System.ColIectiorls
8.4.3 System.CoIlections.Generic
8.4.4 容器使用的算法
8.4.5 多核线程中的集合
8.5 文件I/O与流
8.5.1 文件及目录操作
8.5.2 文件读写
8.5.3 异步文件读写
8.5.4 MemolyMappedFiles
8.5.5 文件压缩
8.5.6 Environment
8.6 预处理器指令
8.6.1 分隔代码段落
8.6.2 条件编译指令
8.6.3 开/关编译信息
8.6.4 Conditional与#if/#end比较.
Chapter 09.NETFramework的特性
9.1c#对模板的支持
9.1.1 模板类型和模板方法
9.1.2 模板的优势
9.1.3 C#模板的约束
9.1.4 C#模板的类型转换
9.2 平台调用服务
9.2.1 调用非托管的DLL函数
9.2.2 托管与非托管的数据类型映射
9.2.3 映射非托管的结构(struct)
9.2.4 MarshalAs辅助类
9.2.5 Platformlnvoke的错误处理
9.2.6 (U)IntPtr和SafeHandle..
9.2.7 CER(执行区域)
9.2.8 小结
9.3 Object的生命周期
……
参考资源