如何成为一个优秀.net程序员

  下面我谈谈成为一个合格的.NET程序员要掌握哪些知识,有很多技术可能大家没有听过,就算开开眼界吧.如果觉的我写的都过时或者很垃圾哪就一笑而过吧! 
 第一步 掌握一门.NET面向对象语言,C#或JAVA.强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,不懂OOP,那绝对学不下去!

  第二步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习.NET Framework。 
ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。 举个例子:下面简单列出几个对掌握ASP.NET非常重要的概念:对象的内存模型,委托,事件,多线程,程序集和应用程序域,安全模型 .NET Framework当然还有许多其它的东西,但不理解与把握清楚上述这些东西,是很难真正把握ASP.NET的。出于急迫的心情与现实的考虑,不少人没有扎实的面向对象基础就想直接学习ASP.NET,其结果只能是欲速则不达。在具备了OO基础之后,以下是具体的学习ASP.NET技术步骤。

  第一步:学习HTML与CSS 
  这并不需要去学一大堆的诸如Dreamweaver,Firework之类的各种网页设计工具,关键是理解HTML网页嵌套的block结构与CSS 的box模型。许多ASP.NET控件最后都必须转化为HTML。而且,div+CSS是当前主流的网页布局模型。学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,那是网站美工的工作,不是程序员的工作。

  第二步:学习JavaScript 
  JavaScript不是Java,它主要运行于浏览器端。可以完成许多工作,功能也很强大:比如它将客户端网页中的HTML元素看成一棵树,可以编写代码访问并修改树节点,动态生成新的HTML代码,从而达到动态修改网页显示特性的目的。 
  JavaScript在目前的网站开发中用得很多,非常重要。 
  另外,它也是目前非常流行的AJAX技术的基础。

  第三步:学习计算机网络原理 
  找一本大学 <计算机网络>教材,重点看看它的有关互联网的部分,了解一些域名解析和HTTP协议等知识。这是进行互联网开发的理论基础。

  第四步:学习ASP.NET表示层技术,会设计Web页面 
  需要结合先前打好的面向对象技术的基础,至少掌握以下内容: 
  (1) 各种Web控件的使用方法, 
  (2) 理解信息在网页中的传送方式,比如Cookie,ViewState,Session等的使用。 
  (3) ASP.NET应用程序与网页的生命周期,以及相关对象(比如httpcontext,response,request)的用途。 
  (4) ASP.NET实现事件驱动的内幕 
  (5) 自定义用户控件 
  再次强调一下,没有OO基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。

  第五步 掌握数据库技术 
  具体地说,要学习以下内容: 
  (1) 学会使用SQL Server 2005:不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建存储过程 ,如何创建触发器. 
  (2) 学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法 
  (3) 学习数据绑定控件的使用

  第六步 理解多层架构 
  这时,先前在OO学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:表示层、业务逻辑层、数据存取层以及数据库本身。 
  有的同学问:学习架构是不是必须学习设计模式。 
  我的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,如果只想着机械地套用某种模式,反而起不到好的结果。我的观点:在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。

  第七步 学习XML与Web Service 
  先了解XML的基础知识,找本讲XML的书看一下就差不多了,然后,再学习Web Service。Web Service其实可类比为远程方法调用(以XML格式表达的调用信息)。 
  学 到了这里,如果你还有兴趣,不妨再去看看SOA,不过SOA的资料都是理论与概念,看起来比较郁闷,而且离实际开发可能比较远。所以,这是可选项。

  第八步 学习AJAX 
  学习AJAX的主要目的是创建具有更丰富特性的Web表示层,而经过前面七步的学习,到此再学习AJAX已水到渠成,所有的基础都已具备,不会有太大的问题了。 
  在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,所以,将AJAX的学习次序安排在这里。

  第九步 学习RIA技术 
  RIA:Rich internet application,可看成是将C/S与B/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一路行来都是微软路线。

怎么成为一个优秀.net软件工程师相关推荐

  1. 云巴创始人张虎:一个优秀的软件工程师必然是全栈工程师

    张虎,云巴 (yunba.io) 创始人兼CEO,致力于为开发者提供优质云后端服务.他有十几年的软件研发经验,精通嵌入式系统.服务器端架构.虚拟化等.张虎曾就职于华为.Oracle,他是Oracle ...

  2. Prelude:如何成为一个优秀的软件工程师?

    其实我们四五年的computer science学习,几万个小时的投入和十几万行代码,为的就是一个offer而已.不过,这不仅仅是我们的工作,这是我们的事业. 作为IT行业的新人,我们大概都想知道如何 ...

  3. 请你努力成为一名优秀的软件工程师,拒绝做优秀的码农!

    最近,很多网友问我,怎么才能成为优秀的软件工程师,而不是优秀的码农?这个问题应该是最近这几年程序员的诉求了,估计每个程序员的理想都是做一个高大上的工程师,而不是只会Ctrl+C和Ctrl+V的码农.从 ...

  4. 如何成为一个优秀的测试工程师?必备的9大职业素质盘点

    对于软件测试人员来说需要具备的素质,我觉得首先最重要的是要有一定的理论知识和测试技能,这是测试工作的基础.我们测试人员应该如何成长才能在工作当中被不断的认可呢? 下面我将以问答的形式阐述: 1.一定要 ...

  5. 要想成为一个优秀的测试工程师,需要具备哪些知识和经验?

    成为一个优秀的测试工程师需要具备哪些知识和经验? 针对这个问题,可以直接拆分以下三个小问题来详细说明: 1.优秀软件测试工程师的标准是什么? 2.一个合格的测试工程师需要具备哪些专业知识? 3.一个合 ...

  6. 如何成为一个优秀的嵌入式软件工程师

    公众号 欢迎扫码关注本人微信公众号:公众号上分享更多嵌入式知识和资料,分享个人学习嵌入式的心得体会.欢迎大家一起来玩呀. 1.网上资料多,但也仅仅是多而已: 在自己的嵌入式道路中走了很多的坎,网上的资 ...

  7. 一个优秀的系统集成工程师

    一个优秀的系统集成工程师(包括售前和实施)的技术线路 笔者注:并不是每个都要求掌握,只是寻找自己的一条技术线路 1:网络 基础知识:深刻理解网络基本概念,例如>ISO/OSI.TCP/IP.VL ...

  8. 我与我的职业梦想 – 成为一名优秀的软件工程师

    无知少年对于计算机的热爱,甚至可以追溯到初中时为了弄明白步步高 9188 英语词典学习机中的 RPG 游戏,懵懵懂懂地看着 VB 的语法书:高中时,在全部人都沉浸在游戏的网吧中,看着是似懂不懂的 C ...

  9. 成为一个优秀的前端工程师,其实你也可以!

    想成为一个优秀的前端工程师 其实很简单 只要你掌握了 HTML CSS PhotoshopECMAScript DOM BOMNodeJS FlashAS PHPfirebug YSlow IETes ...

最新文章

  1. 修改所有列_宝塔面板安装完的一些列操作
  2. System Analysic utility tools
  3. 可以直接反编译Mips架构的IDA版本(无需安装脚本)
  4. poj3076(16*16数独)
  5. spring基于XML的声明式事务控制-配置步骤
  6. 【转】科大校长给数学系学弟学妹的忠告本科数学参考书
  7. Illustrator 上色
  8. 外媒:现代和起亚计划在新一代电动汽车上使用碳纳米管加热器
  9. “五月天才不短咧” TME live这样焕发线上Live演出的生命力
  10. Codeup1085: 阶乘的和
  11. java读取文件指定位置_java从文件指定位置开始读取文件流
  12. myeclipse 快捷键(转载)
  13. EPUB文档格式简单总结
  14. 珍大户《认知世界的经济学》学习笔记 -- 第17课 影响消费者的因素,更新时间2021年03月18日21:53:57
  15. debian7系统设置固定IP
  16. PS教程新手入门(四)--PS实用的技巧教程 批量修改图片尺寸(宽750px;高不限制)
  17. Word页眉页码、公式编号、引用文献编号
  18. net stop mysql 发生系统错误5
  19. python 同时赋值_python同时给多个变量赋值
  20. 关于js的回调函数,同步回调与异步回调

热门文章

  1. 设计没灵感,一定要逛这5个网站。
  2. 计算机英语图片素材,计算机编程英语素材.docx
  3. 校园跳蚤市场平台/校园二手交易系统
  4. Codeforces Round #625 (Div. 2, based on Technocup 2020 Final Round)【A、B、C题】
  5. 曲线积分、曲面积分、二重积分、三重积分、定积分之间的转换
  6. 视相关细节层次网格简化方法(VDPM-LOD)
  7. Tabu Search求解作业车间调度问题(Job Shop Scheduling)-附Java代码
  8. 力回馈方向盘测试软件,真假如何辨?力反馈方向盘深度剖析
  9. Dell G3-3579 安装 Ubuntu16.04 并安装显卡驱动
  10. 微信扫描二维码安卓弹出默认浏览器(苹果打开App Store)打开下载链接