.NET学习笔记(1)— C#学习路线图

目录
一:引言
二:.NET技术体系
三:经常使用工具汇总
四:学习资源汇总
五:书籍推荐
六:关于阅读技术书籍的经验
七:总结
 

一:引言前端

由于工做调整,从PHP开发零基础转型到.NET开发,前期没有太多空闲时间去系统学习。只好独辟蹊径,寻找快速掌握知足当前需求的方法,和你们分享:数据库

<一>:先搜集.NET平台重点知识点的概念名称,而后经过网络搜集该知识点的学习资料,尽量宏观地了解这个全新技术体系的语法结构,涉及的编程练习题反复练习;编程

<二>:逐行阅读工程源代码,再经过网络学习遇到的知识盲点,而后把零散的知识点先记录到学习笔记中,后续再统一整理;windows

可想这份挑战并不轻松,但由于是本职工做,基本一天全部精力都在学习、思考这些新知识,代码和笔记也会反复阅读不少遍。这个体验的过程当中,我以为最重要的收获是:工做中,在时间和精力有限的状况下,先知足当前的需求是最重要的,也就是完成大于完美。另外一方面,明确一个目标,制定对应的计划,保持好心态,尽最大努力坚持下去也很重要。设计模式

 

二:.NET技术体系数组

1:.NET介绍安全

.NET平台的核心技术为:通用语言运行时(CLR:Common Language Runtiome)、基类库(BCL:BaseClass Library)、.NET语言及VisualStudio.NET,CLR和BCL都集成在.NET开发框架软件.NET Framework里面(win系统自带),服务器

.NET技术体系沿袭的是微软的技术路线,因此主要面向windows操做系统,基于.NET技术开发的常见软件类型有:网络

1》:WinForm/WPF技术开发基于Windows平台的客户端软件;架构

2》:asp.net技术开发的网站;

3》:C#语言编译的Dll文件或者COM组件;

它主要由这几个部分组成:编程基础知识、Web编程、桌面编程以及数据访问技术。下面从几个概念介绍来构筑.NET技术体系的整体状况:

 

2:C#语法

C#做为.NET体系最经常使用的开发语言,首先它是一门编译型语言,也是一门类型安全的面向对象语言,它依赖.NET Framework运行。C#的语法特性主要包括属性、枚举、值类型和引用类型(转换)、集合、结构以及Lambda表达式、LINQ、WPF、WebSercice、WCF、Win服务等,能够查阅C#关键字列表看一下。关于变量命名、方法传参、数组、流程控制和循环控制、类的继承、派生、多态这些基本是各个语言公共具备的特性,可参阅其余教程。

 

3:asp.net站点开发

asp.net是.NET体系的一部分,它综合了HTML、CSS、JavaScript以及C#语言开发网站,asp.net支持三种开发模式:

WebPage(单页面模型)

WebForms(事件驱动模型)

MVC

WebPage是过去那种流程化处理的页面,服务器脚本和前端代码混合。WebForms增长了控件机制,支持编写自定义控件。

 

4:Winform软件开发

(待续)

5:数据访问技术

(待续)

6:调试和错误处理

(待续)

 

 三:经常使用工具汇总

VisualStudio(IDE集成开发工具)

MiscrosoftSQL Server(关系型数据库)

IIS/IISEpress(Web服务器)

ILSpy(反编译工具)

NuGET(包管理器)

VSS/TFS(源代码版本管理、团队协做)

 

四:学习资源汇总

Learning hard--微软C#方向的MVP(http://www.cnblogs.com/zhili/
Jax技术博客(http://www.cnblogs.com/Jax/
鱼·后花园的技术博客(http://www.fishlee.net/
小鱼儿-fly技术博客(http://www.cnblogs.com/jyfly1984/)
MeteorSeed的博客园--C#学习笔记系列(http://www.cnblogs.com/MeteorSeed)
张善友的博客园(http://www.cnblogs.com/shanyou/) 
blsong的博客园(http://www.cnblogs.com/blsong/) 
 
五:书籍推荐:
《C#入门经典》
《C#高级编程》
《ASP.NET MVC 5高级编程》
《深刻理解C#》
《Learning hard C#学习笔记》
 
六:关于阅读技术书籍的经验:
一本技术书整体上是用做者本身的思惟方式和语言风格去描述一类技术的知识点和原理,大部分技术书籍涵盖的内容较多,那么串联知识模块而且造成一个整体的知识体系就很是关键,有下面几种途径来达到串联知识的目的:
1:理解书籍的目录章节划分;
2:用笔划线、勾选等记录知识要点,而后再天天固定时间温习要点部分并写成学习笔记;
3:隔段时间再总体温习学习笔记,疑问处再反过来翻阅已看完的书籍;
不少时候尤为学习一门新技术的时候,大部分人根本不可能一次性领会所有内容,包括一些语法特征,这门语言为何要设计成纯面向对象,PHP为何是解释执行但依然那么流行?C#的页面为何设计成事件驱动,它的实时编译机制的细节是怎样的,页面生命周期的执行细节又是怎样?另外一方面,仍是要大量结合编程练习,只有在一段程序或者一个完整项目中(程序应用场景),才能全面、深入领会从语法细节到设计模式和架构的知识,并最终造成本身的知识库,而不是做者的一本书。

 

七:总结

不一样语言的程序开发中,大部分基础功能用到的语言特性很相近,好比字符串的拼接和拆分、数组的使用、循环遍历,以及读写文件(txt、XML)、数据库增删改查。从新学习一门新语言,就能够先搜集这门语言独特的语法特性,结合编程练习,达到必定的熟悉程度,能够尝试去练习这些语法公共部分相关的编程练习,这样更容易保证用最短的时间解决当前问题,在后续的漫长时间内,在逐渐深刻学习掌握语法细节,并领会背后的设计思想。

相关文章
相关标签/搜索