笑谈.Net的开发境界

笑谈.Net的开发境界

本文诣在说明学习.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://javaforall.net/111065.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • beescms网站渗透测试和修复意见「建议收藏」

    beescms网站渗透测试和修复意见「建议收藏」beescms网站渗透测试目录1.环境搭建2.渗透前信息收集3.开始渗透Beescms实验环境搭建1、官方下载Beescmsv4.0,下载地址:http://beescms.com/cxxz.html2、解压压缩文件,然后把文件放到phpstudy的网站根目录3、浏览器访问http://127.0.0.1/beescms/install,开始安装4、一直下一步,出现如下界面,输入数据库账户密码5、成功安装6、修改mysql.ini文件,在mysqld下添加条目:secu

    2022年6月21日
    54
  • Window安装Redis并设置为开机启动

    Window安装Redis并设置为开机启动

    2021年11月7日
    40
  • 运筹学单纯形法求解线性规划问题_运筹学单纯形法计算步骤

    运筹学单纯形法求解线性规划问题_运筹学单纯形法计算步骤线性规划是研究在一组线性不等式或等式约束下使得某一线性目标函数取最大(或最小)的极值问题。

    2022年8月6日
    8
  • 红外测距模块 51单片机_智能激光测距「建议收藏」

    红外测距模块 51单片机_智能激光测距「建议收藏」编者按:本文转载于酷耍(http:/kooshua.com)一、设计目的超声波测距和激光测距是现在比较常见的两种测距方式。两种方式相对比而言,激光测距的优点是以极小的一束激光发射出去再返回,精度为毫米级,几乎不受干扰,弥补了超声波测距易受环境干扰、误差大的缺陷。因此,采用激光测距便更能完美的实现想要的结果。本设计不仅能对距离完成精确快速的测量,还可以对测量数据进行语音播报、编号存储,使数据记录更加…

    2022年6月1日
    44
  • 几种IO流读写文件

    几种IO流读写文件一、超类:字节流:InputStream(读入流)OutputStream(写出流)字符流:Reader(字符读入流)Writer(字符写出流)二、文件操作流字节流:FileInputStream,FileOutputStream字符流:FileReader,FileWriter(用法与字节流基本相同,不写)//1.指定要读

    2022年5月18日
    45
  • 大事件,Java被超越了,2021年5月TIOBE编程语言排行榜出炉

    大事件,Java被超越了,2021年5月TIOBE编程语言排行榜出炉TIOBE头条TIOBE5月编程语言排行榜新鲜出炉。前十榜单中,C、Python、Java三大鳌头仍占据前三榜单。去年11月,Python短时间的挤掉Java跃居至榜单第二名;今年5月,Python再次挤掉Java,再度夺下榜二。TIOBE排行榜是世界上权威编程语言排行榜,注意,它只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,毕竟术业有专攻。TIOBE开发语言排行榜每月更新一次,其结果作为当前业内程序开发语言的流行使用程度的有效指标。该指数可以用来检阅开发者的编程技能能否跟上趋势,

    2025年8月8日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号