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

一:引言

因为工作调整,从PHP开发零基础转型到.NET开发,前期没有太多空闲时间去系统学习。只好独辟蹊径,寻找快速掌握满足当前需求的方法,和大家分享:

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

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

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

二:.NET技术体系

1:.NET介绍

.NET平台的核心技术为:通用语言运行时(CLR:Common Language Runtiome)、基类库(BCL:BaseClass Library)、.NET语言及VisualStudio.NET,如图:

.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服务器)

.NETReflector、ILSpy(反编译工具)

NuGET(包管理器)

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

NotePad++

四:学习资源汇总

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)、数据库增删改查。重新学习一门新语言,就可以先搜集这门语言独特的语法特性,结合编程练习,达到一定的熟悉程度,可以尝试去练习这些语法公共部分相关的编程练习,这样更容易保证用最短的时间解决当前问题,在后续的漫长时间内,在逐渐深入学习掌握语法细节,并领会背后的设计思想。

.NET学习笔记(1)— C#学习路线图的更多相关文章

  1. golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍

    golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...

  2. HTML+CSS学习笔记 (6) - 开始学习CSS

    HTML+CSS学习笔记 (6) - 开始学习CSS 认识CSS样式 CSS全称为"层叠样式表 (Cascading Style Sheets)",它主要是用于定义HTML内容在浏 ...

  3. 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧

    目录 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧 25.1 Shell中的色彩处理 25.2 awk基本应用 25.2.1 概念 25.2.2实例演示 25.3 awk ...

  4. 学习笔记:CentOS7学习之二十四:expect-正则表达式-sed-cut的使用

    目录 学习笔记:CentOS7学习之二十四:expect-正则表达式-sed-cut的使用 24.1 expect实现无交互登录 24.1.1 安装和使用expect 24.2 正则表达式的使用 24 ...

  5. 学习笔记:CentOS7学习之二十三: 跳出循环-shift参数左移-函数的使用

    目录 学习笔记:CentOS7学习之二十三: 跳出循环-shift参数左移-函数的使用 23.1 跳出循环 23.1.1 break和continue 23.2 Shift参数左移指令 23.3 函数 ...

  6. 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环

    目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...

  7. 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用

    目录 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用 21.1 read命令键盘读取变量的值 21.1.1 read常用见用法及参数 21.2 流程控制语句if 21.2 ...

  8. 学习笔记:CentOS7学习之二十:shell脚本的基础

    目录 学习笔记:CentOS7学习之二十:shell脚本的基础 20.1 shell 基本语法 20.1.1 什么是shell? 20.1.2 编程语言分类 20.1.3 什么是shell脚本 20. ...

  9. 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理

    目录 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理 17.1 计划任务-at-cron-计划任务使用方法 17.1.1 at计划任务的使用 17.1.2 查看和删除at将要执行 ...

  10. 学习笔记:CentOS7学习之十九:Linux网络管理技术

    目录 学习笔记:CentOS7学习之十九:Linux网络管理技术 本文用于记录学习体会.心得,兼做笔记使用,方便以后复习总结.内容基本完全参考学神教育教材,图片大多取材自学神教育资料,在此非常感谢MK ...

随机推荐

  1. jstat用法

    jstat(JVM Statistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具.它可以显示本地或者远程虚拟机进程中的类装载.内存.垃圾收集.JIT编译等运行数据 ...

  2. SCOI2016滚粗记

    day0 又到了SCOI,照惯例赛前参加省选培训,住酒店但学校食堂很难吃. 省选培训被成七和南山的大爷虐翻,感觉进省队没什么戏,权当玩一玩吧. day1 早上醒的时候感觉脑袋很痛,想睡又睡不着,第二天 ...

  3. 深度剖析WordPress主题结构(转)

    利用强大的技术,可以把基于wordpress的网站做成各种各样的形式,这除了要求wordpress主题开发人员精通html,PHP,JS,CSS等技术,还需要开发者掌握WordPress主题的框架. ...

  4. iOS UIButton EdgeInsets

    说一下系统的button,image 和 title的位置关系 默认image 和 title的位置关系: 随便画了草图,有点丑,不过不妨碍理解: 第一种:在button上只设置文字,这个时候,but ...

  5. Exchange模式功能

    Exchange模式: Outlook中的投票功能: 新建邮件--选项--使用投票按钮

  6. myeclipse 10创建maven项目

    创建maven项目,这里使用的不是myeclipse自带的maven插件.而是自己 又一次安装的插件,就不啰嗦了,直接上图吧 1.先是安装maven插件.将maven插件解压把它放进E:\xuan\M ...

  7. 【HMTL】文字飞舞的美

    这是在一个大神那看到的就拿过来了,希望能够更多人能看到. 这个是效果: 源文件下载: 点 击 下 载

  8. hdu 5428 The Factor 分解质因数

    The Factor  Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/contest ...

  9. delphi TreeView修改选中的节点的颜色和背景

      TreeView修改选中的节点的颜色和背景     TCustomDrawTarget = (dtControl, dtItem, dtSubItem);   TCustomDrawStage = ...

  10. Java log code example

    Java log example Logrecord filter import java.util.logging.Filter; import java.util.logging.Level; i ...