剖析.NET Framework源代码视频教程

2023/7/6 10:13:34

code-open-source

.NET从2002年推出至今已经走过了13个年头,微软公司陆续对开发人员开放了部分框架源代码以及调试所需要的符号文件。这些资源的推出,对于我们静态分析和动态调试源代码,理解框架运作机制提供了很大的帮助。

第01讲:概要

本系列课程将和大家一起分析.NET Framework一些主要类库的源代码,对其算法设计,底层运作机制进行一一剖析,通过这些分析使得我们开发者对于.NET Framework拥有更加深入的了解,帮助我们设计出更加优秀的.NET应用程序。

第02讲:基本数据结构分析

任何程序都是由执行代码和数据结构所组成。对于数据结构的正确理解能够帮助开发者设计出优秀和高效的软件。在本次课程中,我们将向大家介绍在.NET Framework中一些基本数据结构,如:列表,栈等,的源代码分析。并且向大家介绍如何在此基础之上对这些数据结构进行改进。

第03讲:基本数据结构分析(续)

在上次课程中,我们向大家详细分析了.NET Framework中的List,SortedList,Stack,Queue这些基本数据结构的源代码及其实现算法。对于这些数据结构,在课程中我们已经多次向大家强调了他们的非线程安全特性。为了保证多线程环境中的操作安全,这就需要开发者对于这些数据结构进行线程同步操作,而线程同步设计的好坏,又会直接影响到系统整体执行效率的高低。在本次课程中,我们将首先向大家介绍.NET Framework中的LinkedList链表结构,然后以此链表结构为基础,向大家介绍高效的锁无关(Lock-Free)的线程同步与并行操作算法,并且实现我们自己修改.NET Framework源代码中Stack, Queue数据结构,创建更高效算法的乐趣。

第04讲:复杂数据结构分析

在很多应用场景中, 简单的数据结构(如:链表,队列,栈等)可能无法高效便捷地满足人们的应用需求。在这种情况下,一些实用的复杂数据结构应运而生。在.NET Framework中,Dictionary, SortedDictionary等就是主要的代表。在本次课程中,我将向大家介绍.NET Framework中的一些复杂数据结构,并且剖析其主要的实现特点,向大家展示这些数据结构实现的具体算法。

第05讲:字符串操作分析

字符串操作是软件开发中最为常用的操作之一。在.NET Framework中,对于字符串的支持特别丰富。其中以丰富的编码格式和string与StringBuilder这两个类为特点。在本次课程中,我将向大家介绍并且分析.NET Framework与字符串实现相关的代码,特别向大家重点介绍string与StringBuilder类之间在实现上的相似与差异。

第06讲:复杂数据结构分析之Dictionnary范型

Dictionary泛型是.NET开发过程中广泛应用的一种数据结构,这种数据结构能够实现键到值之间的映射。在本次课程中我将向大家介绍在.NET Framework中对于这个范型数据结构的设计思想和实现方法,并且将与我们在前面课程中向大家介绍的HashTable数据结构进行详细的对比。

第07讲:复杂数据结构分析之SortedDictionary范型

SortedDictionary泛型是一种与Dictionary外观看起来非常类似的数据结构。但是从实际的设计与实现方法上,这两者之间有着本质的不同。对于SortedDictionary其为了实现对于K的排序,内部没有选用Hash算法,而采用了高效的红黑树作为基础数据结构。在本次课程中,我将首先向大家介绍红黑树“理论“上的数据结构,即2-3-4树,然后会详细地向大家介绍红黑树在SortedDictionary中的实现算法。

第08讲:I/O操作之StreamReader与StreamWriter

I/O操作是开发人员日常工作中经常要涉及到的方面,在.NET Framework中系统为我们提供了大量简便易用的I/O操作类库,在接下来的几次课程中,我将向大家分别介绍.NET Framework中几个重要的I/O操作类的设计与实现。在本次课程中, 我将首先向大家讲解StreamReader和StreamWriter类。这两个类是.NET中用于读写文本数据的重要类,在课程中我将向大家剖析其底层的实现方法和性能要点。并对这两个类的一些使用限制向大家进行详细的剖析。

零度分享提取密钥:o57m

零度下载