这是我的第一篇博客,所以,我想写个大的,至少这个话题是比较大的。

  在文章的开头,首先声明,这篇文章仅代表我个人的想法,并且只适合.NET的初学者,如果你已经有两年以上的开发经验,我劝你还是别看了,省得像看别人的代码那样边看边骂,呵呵。

  我觉得,.NET这个东西,入门确实比较快,所以现在很多人都说,.NET程序员只会拖拖控件,没什么技术含量。我对这种看法不以为然,.NET技术确实把很多东西都集成在一块了,用起来很方便,界面上的很多东西,可也以拖拖控件,设几个属性,写几个事件,有时候就完事了。像这种项目,逻辑确实太简单了,但是,也不能为了有难度而有难度,而故意把精力放在界面上吧。其实,在.NET中,无论是WinForm也好,ASP.NET也好,WPF也好,其实他们只是一种表现形式的差异,后台的程序集都是一样的,都是UI需要什么数据,类库负责把这些数据传递给UI。三层架构,设计模式,数据结构与算法,这些思想适用于所有编程语言。好了,这些东西,点到为止,下面进入正题。

  我学习.NET的路线是这个样子的。

  1,先从c#语言学起,在Console环境中,对着那个不大不小的黑框,练习c#语法和面向对象的思想,语法包括流程控制,方法,属性,委托,泛型等。面向对象包括封装,继承,多态,特别是多态,要好好看看。也要理解抽象类,接口,密封类等名词的概念。

  2.熟悉一些.NET封装好的一些常用的类,比如说,集合类,字符串操作类,文件操作类,等等。

  3.熟悉WinForm。这个东西跟Console不是很一样,是基于事件的。在WinForm环境中,熟悉熟悉常用的控件,包括常用的属性和事件。不要因为有人鄙视拖控件,你就不好好学习控件,要对控件有一个客观的认识。学学GDI+,研究研究为什么控件拖上去以后,他就能在界面上显示出来,你的事件是怎么被调用的,等等。这个阶段,做一些简单的小软件,试着把一些功能封装在不同的类中,每个类写一个单独的文件。

  4.学习SQL Server,理解关系数据库的思想,熟悉sql 语句,然后学习ADO.NET,达到可以通过c#实现对数据库的增删改查,会写比较复杂一些的查询语句。这个阶段,可以做一些小型的信息管理系统。

  5.学习HTML,CSS,JavaScript,ASP.NET,熟悉ASP.NET的几个内置对象的常用操作,理解B/S结构跟C/S结构的差异和相同点。这个阶段可以做一些简单的小网站。

  6.学习.NET的一些底层机制,比如,托管堆中的内存分配,值类型跟引用类型的差别,字符串驻留机制,垃圾回收机制等等。

  7.学习三层架构的思想以及一些常用的设计模式,如简单工厂,外观模式,单例模式,生成器模式等,理解面向接口编程的思想和依赖注入,控制反转思想。

  8.之后,就可以自己接一些小项目,或者是自己做着玩也行,自己设计,自己写代码,这个项目中需要用什么技术,就去学什么技术,遇到什么问题,首先自己去解决,自己搞不定了,再去向别人求助。

  9.有意识地学习一些相关技术,如XML,水晶报表,LINQ,正则表达式,JQuery,多线程,Socket,Remoting等。

  10.可以去好好研究研究设计模式,它绝对不会让你失望的。

  11.这个时候,我觉得你就可以选择自己比较感兴趣的领域,去深入研究了。这时候,如果你还觉得.NET程序员没啥技术含量,只会拖控件,那么,你转行做其他的也行,上手就比较快了。因为软件开发中虽然有不同技术和不同门派,但他们的很多思想都是相通的。

  12.多写代码,多研究系统架构。

  13,把你的学习成果分享到博客园,与大家交流和学习。

转自 http://www.cnblogs.com/zdkai/articles/2390094.html

.NET学习路线之我见(转)的更多相关文章

  1. mui初级入门教程(一)— 小白入手mui的学习路线

    文章来源:小青年原创发布时间:2016-05-15关键词:mui,html5+转载需标注本文原始地址:http://zhaomenghuan.github.io/#!/blog/20160515 写在 ...

  2. Android学习路线总结,绝对干货

    title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...

  3. 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)

    在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...

  4. 《C#微信开发系列(Top)-微信开发完整学习路线》

    年前就答应要将微信开发的学习路线整理给到大家,但是因为年后回来这段时间学校还有公司那边有很多事情需要兼顾,所以没能及时更新文章.今天特地花时间整理了下,话不多说,上图,希望对大家的学习有所帮助哈. 如 ...

  5. 一位资深程序员大牛给予Java初学者的学习路线建议

    java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...

  6. 分享篇——我的Java学习路线

    虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...

  7. Java Web 学习路线

    实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...

  8. Java Web学习路线

    2016-08-22的早上,本是一个很平静的早上,坐在去往公司的公交车上想到了很多之前上学时的点点滴滴,回想起来还真的是耐人寻味啊,当初青春的懵懂,当初的冲动,当初的做事不考虑后果! 也正是这耐人寻味 ...

  9. 适合PHP学习者的学习路线 10个PHP优化技巧

    适合PHP学习者的学习路线: (1) 熟悉HTML/CSS/JS..网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉 (2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法 (3) ...

随机推荐

  1. corethink功能模块探索开发(十六)后台搜索功能

    效果图: 代码很简单,就是添加搜索框,搜索字段,在初始化页面查询的时候添加查询条件. 1.添加搜索框 添加到删除按钮后边. ->setSearch('请输入设备名称/MAC/宿舍号', U('i ...

  2. Digital Audio - Creating a WAV (RIFF) file

    Abstract:This tutorial covers the creation of a WAV (RIFF) audio file. It covers bit size, sample ra ...

  3. oradebug工具使用3(转载)

    1 oradebug介绍 oradebug主要是给oracle支持人员使用的,尽管很早便有,但oracle官网很少有记载.他是个sql*plus命令行工具,有sysdba的权限就可以登入,无需特别设置 ...

  4. Linux Shell编程第4章——sed和awk

    目录 sed命令基本用法 sed命令实例 命令选项 文本定位 编辑命令 awk编程模型 awk编程实例 1.awk模式匹配 2.记录和域 3.关系和布尔运算符 4.表达式 5.系统变量 6.格式化输出 ...

  5. hadoop nn 运维一例

    nn1 崩溃之后,nn2变为active,但是nn1日志中有异常,处于standby状态的,无法响应读的操作 最后查出原因是因为fensing的问题.

  6. MySQL DDL方案测试及选型.

    性能测试 一.测试背景 1.机器配置和版本 机器配置(下面测试qps数据都是以本机器配置为准) 型号:Dell s3710 磁盘:SSD 3T CPU:32 内存:128G MySQL版本:5.7.2 ...

  7. 【Flask】WTForms文件上传下载

    # 文件上传笔记:1. 在模版中,form表单中,需要指定`encotype='multipart/form-data'`才能上传文件.2. 在后台如果想要获取上传的文件,那么应该使用`request ...

  8. 2018-2019-2 20165114《网络对抗技术》Exp1 逆向与Bof基础

    逆向及Bof基础实践 目录 一.实践目标 二.实验操作和步骤 1.直接修改程序机器指令 2.通过构造输入参数,造成BOF攻击. 3.注入Shellcode并执行 三.实验总结 四.实验遇到的错误和问题 ...

  9. uiautomator--图像处理

    一.图像处理在自动化中使用场景 1)效果类截图  图像处理技术在自动化的场景中很容易使用到.自动化不是万能的,有时候效果类的是无法进行验证的,但是效果类一般会有图像显示,我们可以通过截图对比实现. 2 ...

  10. 数组排序array_multisort

    array_multisort --对多个数组或者多维数组进行排序[参考:secure.php.net] 说明: bool array_multisort ( array &$array1 [ ...