1. 深入掌握C#语言编程技能
2. 深入掌握.NET框架底层运行机制
3. 深入掌握C#面向对象开发思想
4. 深入掌握C#面向组件开发思想
5. 深入掌握常用.NET框架类型
6. 深入掌握C#应用程序开发流程与方法
通过本课程的学习,学员将能够深入掌握C#面向组件软件开发的思想与方法,出色完成各种C#软件项目开发任务,胜任现代软件企业中.NET软件开发工程师或高级软件开发工程师所要求的C#编程能力。
第一部分 .NET平台与C#语言基础
.NET平台与.NET框架原理
Microsoft.NET平台,第一个C#程序深入剖析,通用语言运行时(CLR),元数据,中间语言与即时编译(JIT),通用语言规范,.NET框架类库,程序集,模块,.NET应用程序模型。
C#语言基础
C#编译器:csc.exe详解,应用程序启动与终止,数据类型,变量与参数,引用类型与值类型,默认值,操作符,类型转换,隐式转换与显式转换,标准转换,用户自定义,转换,表达式,语句,checked 和 unchecked 语句,预处理,命名空间,命名空间与程序集,注释
C#函数的内存模型(重点)
汇编语言中的函数调用,C语言中的函数,C#语言中的函数调用,函数调用的内部机制,栈状态管理,局部变量的内存模型
第二部分 C#面向对象编程(重点)
类与对象
类定义,类的封装,类成员,访问修饰符,类的嵌套,对象的内存分配与内存布局,静态与实例的区分,this指针,null与0值
字段
字段定义,字段与对象状态,字段的修饰,实例字段与静态字段,常量,常量的版本问题,只读字段,字段的内存布局,字段初始化
方法与参数
方法定义,方法与对象行为,方法的修饰,实例方法与静态方法,方法的参数,传值参数,引用参数,输出参数,数组参数,方法的重载,实例方法的静态绑定/调用机制,静态方法的静态绑定/调用机制
构造器
构造器定义,构造器与对象初始化,构造器的调用,实例构造器与静态构造器,默认构造器,私有构造器,静态构造器的调用时间
操作符重载
一元操作符,二元操作符,转换操作符,操作符重载中的注意事项,==操作符与Equals方法
继承与组合
C#与面向对象,类的继承,System.Object根基类,this指针与base指针,类的组合,转型,抽象类,密封类,字段的继承,方法的继承,静态字段与静态方法的“伪继承”,继承链上的构造器调用,继承与组合的内存布局
多态与虚拟
编译时与运行时,虚方法的重写,隐藏与重写(new与override),抽象方法,密封方法,构造器与虚方法,虚方法的绑定/调用机制,虚方法表(virtual method table, v-table)的内存布局,多态的时间分析——变量的编译时类型与运行时类型, 方法的编译时绑定与运行时绑定,Template Method设计模式,多态对于软件架构的重要意义
结构
结构定义,值类型与引用类型,值类型的装箱与拆箱(box/unbox),System.ValueType类,结构与类,结构成员,结构的内存布局,结构的初始化与构造器
枚举
枚举定义,枚举成员,枚举的基础类型,枚举的值类型特征,System.Enum类,位标记,枚举值和运算
数组
数组定义,一维数组,多维数组,参差数组,System.Array类,数组的引用类型特征,数组的内存布局,数组操作的效率考虑
字符串
字符串的初始化,字符串的常量性,字符串驻留,字符串池技术, System.String类,字符串与System.Text.StringBuilder类,字符串的内存布局
C#面向组件编程与.NET框架实践练习(1)***
实践练习是掌握C#软件开发必不可少的一个环节,本节通过一个具体的项目实践练习,详细讨论如何将面向对象的概念模型转化为可编程实现的C#面向对象程序模型,是对C#面向对象编程的一个总结与提炼。
第三部分 C#面向组件编程(重点)
属性
面向组件编程思想,面向组件与面向对象,属性定义,属性与字段、方法,属性与组件封装,实例属性,静态属性,虚拟属性,属性设计原则
索引器
索引器定义,索引器访问,索引器与属性,索引器与数组,索引器与组件封装
接口
接口定义,接口成员,接口实现,接口与虚方法,接口的引用类型特征,接口与组件封装,松耦合与紧耦合,抽象类与接口,显式接口成员实现
委托与事件
委托定义,类型安全的函数指针,委托实例化,委托调用,System.Delegate与System.MulticastDelegate,委托判等;事件定义,事件订阅,事件触发,事件与组件封装,实例事件,静态事件,虚拟事件,事件设计模式,事件设计中虚方法的角色,显式控制事件注册 add/remove,事件字段可能带来的效率问题、及其解决方案
自定义特性
特性定义,元数据对于现代组件设计的意义,可扩展的元数据,特性实例化,特性构造器与字段/属性类型限制,保留特性(AttributeUsageAttribute、ConditionalAttribute、ObsoleteAttribute),System.Attribute类,特性与编程框架的开发
C#面向组件编程与.NET框架实践练习(2)***
实践练习是掌握C#软件开发必不可少的一个环节,本节通过一个具体的项目实践练习,详细讨论如何使用本部分所学的组件设计思想与技术,来开发一个面向组件的.NET应用程序。
第四部分 .NET框架运行时机制
异常处理
异常处理机制,异常与错误,throw语句,try/catch/finally语句块,System.Exception类,开发组件类库与开发终端应用程序时不同的异常处理策略
资源管理
资源管理与分类(托管资源与非托管资源),内存的分配与管理(栈与托管堆,.NET线式分配与C++ 链式分配),.NET垃圾收集基本原理,System.GC类,Finalize方法与析构器,Dispose模式与using 语句,弱引用
元数据与反射
元数据与反射,动态查询类型信息(应用程序域,程序集,类型,成员),System.Reflection下的常用反射类型,动态操作程序集,动态生成类型,动态调用成员,使用接口等强类型信息来提高反射性能
应用程序域
应用程序域概念,应用程序域对.NET程序提供的隔离,应用程序域与传统进程,应用程序域与程序集,应用程序域与线程,应用程序域的创建与卸载,订阅应用程序域事件。
程序集
程序集概念(.NET 类型以及资源的物理容器),程序集的名称、版本号、与语言文化,强命名程序集与全局程序集缓存(GAC),程序集的私有部署与全局部署,并存(side-by-side)执行:在同一计算机上同时执行同一程序集的多个版本
C#面向组件编程与.NET框架实践练习(3)***
实践练习是掌握C#软件开发必不可少的一个环节,本节通过一个具体的项目实践练习,详细讨论如何使用本部分所学的内存管理、异常处理等高级技术,来开发一个高效、灵活的.NET应用程序。
|
|