探索ASP.NET面向对象的渊源,帮助程序员深刻领会面向对象的含意,推荐读者需要读的一些书籍,判断是否具备OO基础素质等,作者王涛,微软C# MVP,对.NET基础架构和CLR底层运行机制有浓厚的研究兴趣和造诣,熟悉ASP.NET、XML、SQL Server等开发工具.
全书分为5个部分,第1部分讲述.NET与面向对象,从底层实现角度分析了.NET如何实现面向对象机制,进一步分析了面向对象设计原则;第2部分论述了.NET类型系统和CLR的内存管理机制,并对IL语言进行了相应介绍;第3部分论述.NET Framework框架的方方面面,详细分析了.NET框架的所有重点、难点和疑点内容,对框架类库的全貌进行了必要的专题性探讨;第4部分重点介绍了.NET泛型和安全性的相关知识和本质解密;第5部分对.NET 3.0/3.5新特性进行了详细的介绍和引导,对于快速入门.NET新特性提供了方便之门。
《你必须知道的.NET》
作者简介:王涛 微软 C# MVP,高级软件工程师,机械工程硕士,主要研究方向为.NET 底层架构和企业级系统应用。现就职于某软件公司负责架构设计、软件开发和项目管理方面的工作。作者对.NET 基础架构和 CLR 底层运行机制有浓厚的研究兴趣和造诣,熟悉 ASP.NET、XML、SQL Server 相关技术,对面向对象、设计模式和软件架构有一定的研究与实践经验。
提起面向对象,每个程序设计者都有自己的理解,有的深入肌理,有的剑走偏锋。但是无论所长,几个基本的概念总会得到大家的重视,它们是:类、对象、继承、封装和多态。很对,差不多就是这些元素构成了面向对象设计开发的基本逻辑,成为数以千万计程序设计者不懈努力去深入理解和实践的根本。而实际上,理解面向对象一个重要的方法就是以实际的生活来类比对象世界,对象世界的逻辑和我们生活的逻辑形成对比的时候,这种体验将会更有亲切感,深入程度自然也就不同以往。
对象和人,两个世界,一样情怀。
第1部分 渊源——.NET与面向对象
第1章 OO大智慧
1.1 对象的旅行
1.1.1 引言
1.1.2 出生
1.1.3 旅程
1.1.4 插曲
1.1.5 消亡
1.1.6 结论
1.2 什么是继承
1.2.1 引言
1.2.2 基础为上
1.2.3 继承本质论
1.2.4 密境追踪
1.2.5 规则制胜
1.2.6 结论
1.3 封装的秘密
1.3.1 引言
1.3.2 让ATM告诉你,什么是封装
1.3.3 秘密何处:字段、属性和方法
1.3.4 封装的意义
1.3.5 封装规则
1.3.6 结论
1.4 多态的艺术
1.4.1 引言
1.4.2 问题的抛出
1.4.3 最初的实现
1.4.4 多态,救命的稻草
1.4.5 随需而变的业务
1.4.6 多态的类型、本质和规则
1.4.7 结论
1.5 玩转接口
1.5.1 引言
1.5.2 什么是接口
1.5.3 .NET中的接口
1.5.4 面向接口的编程
1.5.5 接口之规则
1.5.6 结论
参考文献
第2章 OO大原则
2.1 OO原则综述
2.1.1 引言
2.1.2 讲述之前
2.1.3 原则综述
2.1.4 学习建议
2.1.5 结论
2.2 单一职责原则
2.2.1 引言
2.2.2 引经据典
2.2.3 应用反思
2.2.4 规则建议
2.2.5 结论
2.3 开放封闭原则
2.3.1 引言
2.3.2 引经据典
2.3.3 应用反思
2.3.4 规则建议
2.3.5 结论
2.4 依赖倒置原则
2.4.1 引言
2.4.2 引经据典
2.4.3 应用反思
2.4.4 规则建议
2.4.5 结论
2.5 接口隔离原则
2.5.1 引言
2.5.2 引经据典
2.5.3 应用反思
2.5.4 规则建议
2.5.5 结论
2.6 Liskov替换原则
2.6.1 引言
2.6.2 引经据典
2.6.3 应用反思
2.6.4 规则建议
2.6.5 结论
参考文献
第2部分 本质——.NET深入浅出
第3章 一切从IL开始
3.1 从Hello,world开始认识IL
3.1.1 引言
3.1.2 从Hello,world开始
3.1.3 IL体验中心
3.1.4 结论
3.2 教你认识IL代码——从基础到工具
3.2.1 引言
3.2.2 使用工具
3.2.3 为何而探索
3.2.4 结论
3.3 教你认识IL代码——IL语言基础
3.3.1 引言
3.3.2 变量的声明
3.3.3 基本类型
3.3.4 基本运算
3.3.5 数据加载与保存
3.3.6 流程控制
3.3.7 结论
3.4 经典指令解析之实例创建
3.4.1 引言
3.4.2 newobj和initobj
3.4.3 ldstr
3.4.4 newarr
3.4.5 结论
3.5 经典指令解析之方法调度
3.5.1 引言
3.5.2 方法调度简论:call、callvirt
3.5.2 和calli
3.5.3 直接调度
3.5.4 间接调度
3.5.5 动态调度
3.5.6 结论
参考文献
第4章 品味类型
4.1 品味类型——从通用类型系统开始
4.1.1 引言
4.1.2 基本概念
4.1.3 位置与关系
4.1.4 通用规则
4.1.5 结论
4.2 品味类型——值类型与引用类型
4.2.1 引言
4.2.2 内存有理
4.2.3 通用规则与比较
4.2.4 对症下药——应用场合与
4.2.4 注意事项
4.2.5 再论类型判等
4.2.6 再论类型转换
4.2.7 以代码剖析
4.2.8 结论
4.3 参数之惑——传递的艺术
4.3.1 引言
4.3.2 参数基础论
4.3.3 传递的基础
4.3.4 深入讨论,传递的艺术
4.3.5 结论
4.4 皆有可能——装箱与拆箱
4.4.1 引言
4.4.2 品读概念
4.4.3 原理分拆
4.4.4 还是性能
4.4.5 重在应用
4.4.6 结论
参考文献
第5章 内存天下
5.1 内存管理概要
5.1.1 引言
5.1.2 内存管理概观要论
5.1.3 结论
5.2 对象创建始末
5.2.1 引言
5.2.2 内存分配
5.2.3 结论
5.3 垃圾回收
5.3.1 引言
5.3.2 垃圾回收
5.3.3 非托管资源清理
5.3.4 结论
5.4 性能优化的多方探讨
5.4.1 引言
5.4.2 性能条款
5.4.3 结论
参考文献
第3部分 格局——.NET面面俱到
第6章 深入浅出——关键字的秘密
6.1 把new说透
6.1.1 引言
6.1.2 基本概念
6.1.3 深入浅出
6.1.4 结论
6.2 base和this
6.2.1 引言
6.2.2 基本概念
6.2.3 深入浅出
6.2.4 通用规则
6.2.5 结论
6.3 using的多重身份
6.3.1 引言
6.3.2 引入命名空间
6.3.3 创建别名
6.3.4 强制资源清理
6.3.5 结论
6.4 转换关键字
6.4.1 引言
6.4.2 自定义类型转换探讨
6.4.3 本质分析
6.4.4 结论
6.5 预处理指令关键字
6.5.1 引言
6.5.2 预处理指令简述
6.5.3 #if、#else、#elif、#endif
6.5.4 #define、#undef
6.5.5 #warning、#error
6.5.6 #line
6.5.7 结论
6.6 非主流关键字
6.6.1 引言
6.6.2 checked/unchecked
6.6.3 yield
6.6.4 lock
6.6.5 unsafe
6.6.6 sealed
6.6.7 结论
参考文献
第7章 巅峰对决——走出误区
7.1 什么才是不变:const和readonly
7.1.1 引言
7.1.2 从基础到本质
7.1.3 比较,还是规则
7.1.4 进一步的探讨
7.1.5 结论
7.2 后来居上:class和struct
7.2.1 引言
7.2.2 基本概念
7.2.3 相同点,不同点
7.2.4 经典示例
7.2.5 结论
7.3 历史纠葛:特性和属性
7.3.1 引言
7.3.2 概念引入
7.3.3 通用规则
7.3.4 特性的应用
7.3.5 应用示例
7.3.6 结论
7.4 面向抽象编程:接口和抽象类
7.4.1 引言
7.4.2 概念引入
7.4.3 相同点,不同点
7.4.4 经典示例
7.4.5 他山之石
7.4.6 结论
7.5 恩怨情仇:is和as
7.5.1 引言
7.5.2 概念引入
7.5.3 原理与示例说明
7.5.4 结论
7.6 貌合神离:覆写和重载
7.6.1 引言
7.6.2 认识覆写和重载
7.6.3 在多态中的应用
7.6.4 比较,还是规则
7.6.5 进一步的探讨
7.6.6 结论
7.7 有深有浅的克隆:浅拷贝和深拷贝
7.7.1 引言
7.7.2 从对象克隆说起
7.7.3 浅拷贝和深拷贝的实现
7.7.4 结论
7.8 动静之间:静态和非静态
7.8.1 引言
7.8.2 一言蔽之
7.8.3 分而致之
7.8.4 结论
7.9 集合通论
7.9.1 引言
7.9.2 中心思想——纵论集合
7.9.3 各分秋色——.NET集合类大观
7.9.4 自我成全——实现自定义集合
7.9.5 结论
参考文献
第8章 本来面目——框架诠释
8.1 万物归宗:System.Object
8.1.1 引言
8.1.2 初识
8.1.3 分解
8.1.4 意义
8.1.5 结论
8.2 规则而定:对象判等
8.2.1 引言
8.2.2 本质分析
8.2.3 覆写Equals方法
8.2.4 与GetHashCode方法同步
8.2.5 规则
8.2.6 结论
8.3 如此特殊:大话String
8.3.1 引言
8.3.2 字符串创建
8.3.3 字符串恒定性
8.3.4 字符串驻留
8.3.5 字符串操作典籍
8.3.6 补充的礼物:StringBuilder
8.3.7 结论
8.4 简易不简单:认识枚举
8.4.1 引言
8.4.2 枚举类型解析
8.4.3 枚举种种
8.4.4 位枚举
8.4.5 规则与意义
8.4.6 结论
8.5 一脉相承:委托、匿名方法和Lambda表达式
8.5.1 引言
8.5.2 解密委托
8.5.3 委托和事件
8.5.4 匿名方法
8.5.5 Lambda表达式
8.5.6 规则
8.5.7 结论
8.6 直面异常
8.6.1 引言
8.6.2 为何而抛?
8.6.3 从try/catch/finally说起:解析
8.6.3 异常机制
8.6.4 .NET系统异常类
8.6.5 定义自己的异常类
8.6.6 异常法则
8.6.7 结论
参考文献
第9章 格局之选——命名空间剖析
9.1 基础——.NET框架概览
9.1.1 引言
9.1.2 框架概览
9.1.3 历史变迁
9.1.4 结论
9.2 布局——框架类库研究
9.2.1 引言
9.2.2 为什么了解?
9.2.3 框架类库的格局
9.2.4 一点补充
9.2.5 结论
9.3 根基——System命名空间
9.3.1 引言
9.3.2 从基础类型说起
9.3.3 基本服务
9.3.4 结论
9.4 核心——System次级命名空间
9.4.1 引言
9.4.2 System.IO
9.4.3 System. Diagnostics
9.4.4 System.Runtime.Serialization和
9.4.4 System.Xml.Serialization
9.4.5 结论
参考文献
参考文献
第11章 如此安全性
11.1 怎么样才算是安全
11.1.1 引言
11.1.2 怎么样才算是安全
11.1.3 .NET安全模型
11.1.4 结论
11.2 代码访问安全
11.2.1 引言
11.2.2 证据(Evidence)
11.2.3 权限(Permission)和权限集
11.2.4 代码组(Code Group)
11.2.5 安全策略(Security Policy)
11.2.6 规则总结
11.2.7 结论
11.3 基于角色的安全
11.3.1 引言
11.3.2 Principal(主体)
11.3.3 Identity(标识)
11.3.4 PrincipalPermission
11.3.5 应用示例
11.3.6 结论
参考文献
第5部分 未来——.NET技术展望
第12章 .NET 3.0/3.5新革命
12.1 品读新特性
12.1.1 引言
12.1.2 .NET新纪元
12.1.3 程序语言新特性
12.1.4 WPF、WCF、WF
12.1.5 Visual Studio 2008新体验
12.1.6 其他
12.1.7 结论
12.2 赏析C# 3.0
12.2.1 引言
12.2.2 对象初始化器(Object Initializers)
12.2.3 集合初始化器(Collection Initializers)
12.2.4 自动属性(Automatic Properties)
12.2.5 隐式类型变量(Implicitly Typed Local Variables)和隐式类型数组(Implicitly Typed Array)
12.2.6 匿名类型(Anonymous Type)
12.2.7 扩展方法(ExtensionMethods)
12.2.8 查询表达式(Query Expressions)
12.2.9 结论
12.3 体验LINQ
12.3.1 引言
12.3.2 LINQ概览
12.3.3 查询操作符
12.3.4 LINQ to XML示例
12.3.5 规则
12.3.6 结论
12.4 抢鲜Visual Studio 2008
12.4.1 引言
12.4.2 Visual Studio 2008概览
12.4.3 新特性简介
12.4.4 开发示例
12.4.5 结论
12.5 江湖一统:WPF、WCF、WF
12.5.1 引言
12.5.2 WPF
12.5.3 WCF
12.5.4 WF
12.5.5 结论
参考文献
编后记:遇见幸福
特别说明:
本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!
本站提供的普通下载点可能造成多线程类的软件无法下载,建议直接点击或另存为下载!
如有侵犯您的版权,请及时联系513175919#qq.com(#换@),我们将尽快处理。