解决方法
我建议你先学习你的语言。我建议学习C#,只因为它是非常可销售的,通常直接支持大多数MS产品。通过学习ASP.NET中的C#编程,控制台应用程序,服务器,服务,桌面应用程序等都将在您的范围内。您可以为大多数MS产品以及许多Linux类型平台编程。
一旦你这样做了,那么你可以移动到网络编程,因为网络的编程有一些复杂的大多数其他环境没有。诸如会话,缓存,状态管理,跨站点脚本,样式,客户端与服务器端编程,浏览器支持,HTTP的工作原理,获取vs发布,表单的工作原理,Cookie等等的概念都位于单独学习的东西的列表,更不用说学习ASP.NET基础框架和命名空间。
一旦你有编程语言,然后网络编程的概念,我建议你暂停和学习数据库设计。不要担心性能只是…尝试先学好设计。表现将会来临。一个很好的开始是Access(亵渎我知道)。初学者很容易使用。并且它可以轻松地转换成更强大的平台,如sql Server。至少学习一些sql …但是我建议您尽可能多地学习胃部治疗。我听说有人说sql就像数据库的汇编语言。减缓应用程序停止的第一件事是糟糕的数据库设计和糟糕的查询。一旦你有了这个知识 – 把它放在你的头脑后面,看看一个好的ORM。 NHybernate目前可能是最好的,但是基础学习者需要更复杂。因此,我现在建议将LINQ to sql启动并运行,因为它与SUPER EASY合作。然后看实体框架(虽然我仍然认为它吸吮…你应该等到EF 2.0 … ERRRRR …现在4.0发布与.net 4.0)。然后是NHybernate。
现在是开始了解Web开发所需的基础架构的时候了。当你学习一些网络编程的东西时,你可能会碰头。但您需要了解DNS,IIS,负载均衡器,粘性路由,循环,集群,容错,服务器硬件设置,Web场,缓存场(MemCached Win32,Velocity),SMTP,MSMQ,数据库邮件队列的基础知识,许多人可能会说你不需要这个。那将有一些知识渊博的网络管理员来帮助你在这里。然而,他们通常会知道影响他们的事情,而不是你。你在这里知道的越多,对你雇用的公司来说就越有价值。
现在,您可以了解最佳做法和设计模式的细节。了解存储库模式,工厂模式,外观模式,模型视图呈现器模式,模型视图控制器模式,观察者模式等各种基础知识。按照Martin Fowler等人的建议。查看控制反转,依赖注入,SOLID原理,DRY,FIT,测试驱动设计和域驱动设计等概念,然后再转到下一步。
现在你可以考虑框架!首先通过使用ASP Classic创建一个基本应用程序(免费提供IIS)。这将为您带来一个不起眼的网页开发环境。看一下ASP.NET Web表单(简要介绍),看看MS如何通过隐藏所有复杂的东西(您现在知道如何根据上述材料的读数来自行管理)来简化事情。现在您不再需要ASP.NET Web窗体。立即移动到ASP.NET MVC。 MVC框架为您提供了创建一个易于管理的良好Web应用程序所需的全部功能。如果你建立一个非常大的东西,纯Web开发的框架可能无法处理你所需要的。然而,MVC对于这样的UBER自定义场景来说更可扩展。
现在,您已经通过ASP.NET MVC的旅程,您可以查看诸如Microsoft企业应用程序块(如在MySpace中使用)的事情。看看Elmah错误记录(一定有)。看看如何为您的MVC网站构建一个custom SiteMapProvider。如果您需要查找的东西了解Lucene.NET。
如果你这么做,你准备好自己找出其余的,因为它出现了!玩的开心。在这个空间里有一个对所有上述概念有一定了解的人的空间很大。