2007年10月3日

对初学者的建议:ASP.NET技术的学习顺序

前前后后收到过一些学生的来信,询问ASP.NET的学习顺序问题,在此就向打算系统学习ASP.NET技术的初学者谈谈我的建议。

如果你已经有较多的面向对象开发经验,跳过以下这两步:

第一步 掌握一门.NET面向对象语言,C#或VB.NET

我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。

ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去!

第二步 对.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基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。

本文由设计家园 http://www.dwww.cn 收集整理

第五步 掌握数据库技术

具体地说,要学习以下内容:

(1) 学会使用SQL Server 2005:不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建存储过程

(2) 学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法

(3) 学习数据绑定控件的使用

第六步 理解多层架构

这时,先前在OO学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:表示层、业务逻辑层、数据存取层以及数据库本身。

可以先上网找一此多层架构的资料看,再找一个现成的比较复杂的开源ASP.NET项目分析一下其架构就差不多了。基本上都是一个套路,到处应用。

有的朋友问:学习架构是不是必须学习设计模式。

我的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,如果只想着机械地套用某种模式,反而起不到好的结果。我的观点:在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。

第七步 学习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),毕竟前头一路行来都是微软路线。

不过目前学习它主要是为了技术储备。估计此技术的普及需要2到3年的时间,因为预装Vista的机器今年才开始大卖。

至此,九阳神功大功告成,您可以靠此神功行走江湖了。

(注:本文仅是个人看法,供初学者参考,不妥之外,欢迎高手予以斧正)。

本文由设计家园 http://www.dwww.cn 收集整理

posted @ 2007-10-03 22:56 小啤酒 阅读(162) 评论(0) 编辑

工作感悟系列-如何快速高效圆满的完成任务

文章来源:http://www.cnblogs.com/zcr1985/
     在工作中,你是否出现过这样的情况:一个任务交给你去做,你花了很大的精力,花了很多的时间,但是感觉这个任务怎么做也做不完,做完一个东西又有另一个东西出来要做,另一个东西做出来又要修改原来的那个东西,这样让我们的任务陷入了遥遥无期无法彻底完成的状态。这时候,你是不是要总结一下自己的工作的方式是否出现了问题。
    首先,我们必须确保我们有能力去完成这么一个任务。在你的能力范围之内,如何能更高效的去做这么一件事情呢,我总结了如下几个方面:
    一、清楚你要做什么-需求
    需求在整个软家开发中的地位是举足轻重的,我们必须深刻的了解需求中的每一项内容,通过需求,我们知道了我们要做什么事,不必要去做什么事。需求是给你指明了方向,朝着需求的方向去做就没错。这里非常忌讳做一些需求额外的内容,这不仅额外增加了自己的开发时间,也同时增加了出现BUG的概率并且往往会让我们的软件使用者觉得这个额外的东西是多余的。通常这样的情况,到最好交付任务的时候会直接被你的上级砍掉那些多余的内容。原因只有一点:不管你做的多花哨,用了多少精力,因为不符合需求,或者说需求中并没有要你这样做。
    二、多听听别人的意见-交流
    这里讲的交流包括两方面:需求设计阶段的交流和软件设计过程中交流。在和他人交流的过程中,可以看到很多自己没有考虑的东西,往往一个很小的问题,每个人都有自己独特的见解。因此,多和他人交流,能够学习到很多自己一个人埋头苦干学习不到的东西。这也会让自己视野更加开阔,更加全面的去考虑我们的任务需要周全的方面。
    三、不盲目接受权威-坚持
    在和你的上级,如组长、经理等的交流过程中,不要盲目接受权威的意见。通常我们自己提出要去做一件事情,需要给你的上级解释大半天才得以开工,而假如你的上级提出要做一件事情,也许只是一句话的功夫。我们不能盲目的接受,也不能偏激的去排斥,而要理性去分析一下,好好考虑一下这件事这么做到底有什么好处,是否真的有必要去这么做。组长有时候也会犯错,当我们有理由坚持自己的观点的时候,要勇敢的提出来。要不然,我们只能成为一个任人使唤的机器,叫咱干啥就干啥,干了半天最后又做错了。
    四、合理的安排你要做的事-计划
    给自己一个清单,把你要做的事情列一下,为每件事情安排一个计划完成的时间。我通常是在EXCEL表格中做这件事情,每完成一项任务就在相应的地方勾一下。这样能让我们的工作很有条理性,而不是随波逐流,同时也能更好向你的上级反映你的工作进度。
    五、不断的与客户交流-反馈
    在有些需求不是很明确的地方,比如通常有的需求不会对界面有过多的详细要求,你就必须多和你的客户(你的上级或是你的软件的使用者)交流。通常我们在设计软件时,我们可以这样做,先搭建一个UI界面框架,里面的代码实现一句也没有,只是个空壳子。然后我们将我们做好的空壳子拿给用户去看,让他去提意见,通常会有一些你没有考虑而用户考虑到的问题。因此,把这些意见吸收进来,再开始填充空壳子里面的东西。要不然,当我们把东西填完的时候客户才说出一些地方设计不合理,我们又要把壳子里的东西挖掉,再修补修补壳子,再往里加东西,这极大的浪费了我们的时间和精力。
    六、把你做的东西很好的表达出来-口才
    你的任务完成了,上面可能会有人来验收你的东西。他们可能会提出很多问题,也可能会指出很多的毛病。这时,你要了解,你做的东西,最了解的人是你自己。你要把你做的东西的特点优点很好的展示给他们看,有时候因为他们误解了某个东西,而对你提出一些要求,不要轻易妥协,因为只有你最了解当初的需求是怎么定出来的,只有你最了解这个东西最终是要做成什么样子,告诉他们!这是考验你的口才的时候,如果表达的不好,又盲目的听从指挥,结果只能是三个字:白忙活。
    本人才疏学浅,就只想到以上那么多,希望对大家有一点点帮助,也希望大家多和我交流。
本文关键字:感想,时间管理,计划,客户交流

posted @ 2007-10-03 12:38 小啤酒 阅读(293) 评论(2) 编辑