本文诣在说明学习.Net开发的一些阶段性过程,希望对您的开发学习有所帮助。dk0728

微软的.Net框架为我们提供一个强大的开发平台,在此之上我们节省了很多力气去做一些底层的东西,但是真正能更好地借助这一平台做出强壮的应用程序并不是一件容易的事。在此我将.Net开发者的水平划分为几个阶段,看看您目前是处于什么样的状态,以及下步该如何学习。

首先要说明的是在.Net下面是完全面向对象的,因此对面向对象编程模式的理解是深刻理解.Net开发平台的工作原理及设计原则的基础。

第一层:
    在这一层里面您学到一些入门级的功夫,象罗汉拳之类的。

伴随着.net2.0的出现,微软在这里面提供很多方便的控件帮助广大的初学者进行快速开发,典型的代表有SqlDataSource,登陆控件等。借助这些可视化的控件您就可以在集成开发环境下几乎不用书写或者只书写很少的代码就可以完成简单的应用程序开发。但随之带来的坏处也显而易见,对于这些控件的内部工作机制您可能不甚了解,很多细节都被隐藏起来,因些可以说在此阶段只是微软件给我们做了一些容易上手的玩具,让您对.Net开发有一个直观的认识并有兴趣了了解一些更深入的东西。

第二层:
   
    现在您学习了一些剑招拳式并勤加练习以求熟练地使用它们,在这里打下的基础成为您将来发展带来良好的开端。

通过学习语法,阅读MSDN,您已经掌握了一些常用类的使用方法,如ADO.Net里面的连接类,DataAdapter,DataReader, DataSet,Command对象等并能进行一般的CRUD数据访问,知道了页面的执行顺序及基于事件的网页处理过程,这时候您已经可以根据ASP里面的开发经验开发出一些较为简单的应用。但是从整体上来说,您的程序并不是容易维护的,一旦需求发生变化时您可能需要作较多的修改,多个相同功能的代码也不能进行重用,各个页面功能之间相对独立, 这样虽然功能上可以实现,但是付出的代价还是很大的。为了缩短开发时间您不得不整天地进行Ctrol+ C 和Ctrol + V的操作,于是乎您开始着手寻找一种更有效和方便的开发方法.

第三层:

随着武功的精进,您发现虽然自己的招式都练得非常熟练,但是一旦遇上内力深厚的高手还是打不过,于是你开始修练.Net的内功心法,还找了一些较为上层的武功进行修炼(例入PetShop, Duwamish等一批精典作品)。

现在您已经积累了一些项目经验,对面向对象的开发方式也较为熟悉,这时您开始研究其它高手写的程序,开始明白一些类的设计原则及分层设计的思想,因为类的设计本来就是人们根据现实世界抽象出来的东西,因些随着社会的发展,您的程序也不再是原始社会的那种自给自足式的生活方式,社会分工开始出现,一些类被设计出来只完成特定的功能,并且整个社会也分成一些不同的社会阶层,您把程序分为几层,每层完成不同的任务,比如有专门负责最终呈现结果的表现层即我们的网页层,有提供事务逻辑的商业逻辑层,有专门负责数据访问的层,也有提供一些特定功能的Utility。您发现这样的结构大大优化了您的程序设计,每一层只需关心跟自己相关的业务功能即可,通过服务接口的方式为其它层提供服务,相同的功能,比如CRUD操作被统一到一个地方实现,前台的开发变得非常简便,并且能在需求发生变化的时候只做很少的改动即可满足要求。

第四层:
 
    您的功力已经到了一个新的阶段,根据个人天份不一样,有的人可能就停滞不前,但勤奋的你并不满足而是更加用功地修炼内力,在各大门派中您已经是一位不可小看的人物。
 
    在这个时候发生了一些变化,对技术感兴趣的人更深入地学习下去,而另一部分人则转向了用户需求分析和管理岗位的一些工作。您开始深入学习一些关于设计模式的问题,弄清楚为什么要采用这样的设计方式而不是另外一种,使用这样的分层机制它的实质究竟是什么。从技术广度上讲,您也了解了其它的一些开发技术如JAVA,C++,并对它们作了一些分析和比较,吸取了一部分精华,您对面向对象的设计思想及设计模式已经融会贯通。这时您开始发现光是内力深厚还不够,人的精力有限,内力也会消耗,于是乎您开始寻找一些神兵利器,这样才能在千军万马里面住来自如,您发现了CodeSmith这样的模版工具,利用它可以大批量产生重复的代码,您可以节省很多力气去做一些更有用的事情,还发现了一些其它高手留下来的财富,如NetTier等重量级的生成模版,由于您已经对它内部的机制和思想了如指掌,所以很快根据自己的口味作了一些必要的修改,使它能适应不同的项目,同时您也学习了一些如NHibernate,ibatis.net,Enterprise Library之类的轻功和一些雕虫小技,有些时候还是非常好用的。您也了解了诸如Castle,Spring.net等一些其它的开发框架,对2.0里面的强大技术,如反射,泛型,可空类型,匿名方法等有了深入的认识。

第五层:

您现在已经成为一代大侠,众人仰慕的对象,您开始行走江湖,锄强扶弱(比如在经典论坛里面免费指导武功;))

经过若干个项目的历练,您已经是身经百战,对其它门派的武功也是触类旁通,对于不同的项目该使用什么样的架构与技术了然于心,逐渐成长为一名架构师。您的主要精力已经不在具体的代码编写上而是着眼全局,从各个方面进行设计与评估,采用哪种语言和哪种平台已经不是最重要的事情,飞花摘叶皆可伤人。

第六层 :

您还不满足,闭关修炼若干年,精通算法设计和编译原理,成为一代宗师,还联合其它江湖大侠发明了一套全新的武功从此万人景仰称雄江湖。

C, D, C++, Delphi, C#, Python......就是这样诞生滴~~~~~;)

转载于:https://www.cnblogs.com/darkangle/archive/2007/11/22/969134.html

笑谈.Net的开发境界相关推荐

  1. PB开发境界 多个DW进行update

    多个DW进行update //菜鸟代码 dw_1.Update() dw_2.Update() 初级代码 IF dw_1.Update() = 1 And dw_2.Update() = 1 THEN ...

  2. Viusal Studio 是软件开发工具,很棒的工具。

    (干了很久的程序员了,想分享一下我的开发经历,也是对我自己经历的记录,以后自己可以回顾一下这段经历,希望大家喜欢.) Visual Studio 是软件开发工具,很棒的工具.打个比方,木匠可以做家具, ...

  3. 深入解析Spring MVC与Web Flow

    深入解析Spring MVC与Web Flow 诚邀加入图灵俱乐部:http://groups.csdn.net/Turingbooks "本书为Spring社区弥补了一大空白." ...

  4. msf 生成php马_PHP的性能优化方法总结

    什么情况之下,会遇到PHP性能问题? 1:PHP语法使用不恰当. 2:使用PHP语言做了它不擅长的事情. 3:使用PHP语言连接的服务不给力. 4:PHP自身的短板(PHP自身做不了的事情). 5:我 ...

  5. java知识体系介绍

    国内最牛七星级团队马士兵.高淇等11位十年开发经验专家录制 目 录 百战程序员Java1573题 2百战程序员介绍 3JavaSE编程基础 9第一章 初识Java 9阶段项目课程1 11第二章 数据类 ...

  6. 新型前端开发工程师的三个境界 后端开发工程师如何快速转前端

    初入软件开发这一行时,当时还没有前后端分离这个概念,所有的开发工程师既能写html,也能写后台服务,随着技术的发展,前后端分离成为趋势,目前团队不少人能熟悉的写java后台服务,却难以hold住前端页 ...

  7. C++教程:C++开发的四重境界是什么?

    学编程不是一夜之间的事,每一个牛人都需要不断地学习和动手写程序,在实践中不断地思考所学的知识,并结合实际应用范畴优化实现方法.十多年来,虽然不是一线编程高手,但也有一些自己的理解和思考.程序设计强调的 ...

  8. (轉貼) 用禅宗理解、软件开发的境界 (OO)

    轉貼自http://www.cnblogs.com/flashelf/archive/2007/06/28/798967.html 用禅宗理解.软件开发的境界 1.参禅之初:看山是山,看水是水: 初学 ...

  9. 用禅宗理解、软件开发的境界

    用禅宗理解.软件开发的境界 1.参禅之初:看山是山,看水是水: 初学软件开发时认为.C 是 C,VB 是 VB 都要一个一个学 2.禅有悟时:看山不是山,看水不是水: 等到渐渐地运用纯熟了,可以触类旁 ...

最新文章

  1. 小乐乐打游戏(BFS+曼哈顿距离)
  2. c语言ascw,Asc/AscB/AscW和Chr/ChrB/ChrW函数之间的区别
  3. Android之EditText的各种使用
  4. Windows下Tomcat服务器的安装和配置
  5. MySQL复制--slave设置读取binlog的位置
  6. sed 手册阅读笔记转
  7. 重载(Overload)和重写(Overide)
  8. oracle update 改为 merge
  9. Matlab Tricks(四)—— remove DC
  10. __doPostBack()没有定义解决方法(转)
  11. Java 实现Gbase数据库增删改查功能2
  12. 小程序毕设作品之微信积分商城小程序毕业设计成品(6)开题答辩PPT
  13. 【图神经网络】ChebyNet-切比雪夫多项式近似图卷积核
  14. uniapp换行符号_第15讲 : uni-app 组件 - 地图组件
  15. 转:如何理解阿里月饼事件中各方的表现
  16. Java修改图片大小尺寸图片缩放
  17. 斜体(oblique italic)
  18. “当当收店庆费一事”之我见
  19. 鸿蒙系统可以安装的浏览器,华为鸿蒙系统2.0如何进行安装?鸿蒙系统2.0安装方法详细介绍...
  20. 抖音是怎么动摇美国国本的?

热门文章

  1. LeetCode Add Binary(二进制加法)
  2. 生成0字节的core文件,gdb 无法识别core 文件
  3. 网络编程学习笔记(getaddrinfo函数)
  4. java中Collections的接口及类层次图
  5. 题目1172:哈夫曼树
  6. 【洛谷 P3469】[POI2008]BLO-Blockade(割点)
  7. [排序算法] 选择排序(2种)
  8. C#泛型集合之Dictionaryk, v使用技巧
  9. 小米开源文件管理器MiCodeFileExplorer-源码研究(8)-文件排序工具类FileSortHelper
  10. ubuntu 10.0.4安装小企鹅(Fcitx)输入法