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

  在文章的开头,首先声明,这篇文章仅代表我个人的想法,并且只适合.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. keras 学习文档

    https://github.com/fchollet/keras-resources https://keras.io/

  2. R 入门笔记

    PS:初学R  为了查阅方便 借鉴的网友的博客和自己的总结记录一下 http://blog.csdn.net/jack237/article/details/8210598 命令简介 R对大小写是敏感 ...

  3. 使用哈工大LTP进行句法分析

    作者注:本教程旨在对哈工大LTP在github上的LTP4J(LTP的java版本)教程的补充,请结合以下参考网站一起食用. 参考网站: [1]哈工大语言技术平台云官网--LTP使用文档 http:/ ...

  4. 前端 and css小技巧

    随意更改网页 重新格式化代码,解决缩进问题 https://q1mi.github.io/PythonBlog/post/about_frontend/ css margin: 0 auto 居中 文 ...

  5. React:快速上手(1)——基础知识

    React:快速上手(1)——基础知识 React(有时叫React.js或ReactJS)是一个为数据提供渲染为HTML视图的开源JavaScript库,用于构建用户界面. JSX.元素及渲染 1. ...

  6. kubernetes --> kube-dns 安装

    准备yaml文件: 1.kubedns-cm.yaml # Copyright 2016 The Kubernetes Authors. # # Licensed under the Apache L ...

  7. display:inline与display:block——行内元素显示与块级元素显示

    display:inline 的作用是设置对象做为行内元素显示,inline是内联对象的默认值(ps:内联对象就是不自动产生换行的元素,比如span) 而我们一般用的div是块级元素,默认displa ...

  8. case的嵌套使用

    case分支语句的格式如下: case $变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; *) 默认执行的命令序列     ;; esac case语句结构特点如下: 1.    ...

  9. JavaScript与Java数据类型的区别

    今天开始正式认真学习js,虽然在平常j2ee开发中也经常用到JS但并不精通,这次随笔记下js与Java数据类型的不同之处 Number 与java不同,js作为弱类型语言即使在浮点数与整数上也未作明确 ...

  10. systemverilog中module与program的区别

    我们知道,verilog语法标准中是没有program的,program是systemverilog语法标准新增的内容. 那么,为什么要新增一个program呢?主要考量是基于电路的竞争与冒险. 为避 ...