ASP.NET持续学习

时间:2009-04-24 01:16:17

标签: asp.net

我已经在ASP.NET工作了好几年了(自1.0天以来!),但我从未得到过正式的指导。我完全有能力做我想做的任何事情,我已经建立了几个生产级数据驱动的网站,其中包括每年销售额超过百万的网站(根据业主的说法)。但是我开始觉得我的知识中的漏洞正在拖累我的工作效率。我经常阅读并尽可能地学习如何尽力使用所有新技术,但有时我只是不明白,而且我认为这是因为我缺乏正规的培训。

有没有人对填补这些空白的最佳方法有任何想法,而不必重新考虑基础知识?

由于

9 个答案:

答案 0 :(得分:6)

1)阅读流行的开源项目代码。有一些有一些非常好的做法。

我建议您查看BlogEngine.NET。此外,如果你更有野心,我建议你查看ASP.NET MVC 1.0的代码。

2)有时你需要“回到基础”,因为你使用的是特定框架,因为它的版本更早。在这种情况下,选择一本涵盖一些较新功能的书籍非常有用。

这是一本很好的书,展示了C#3.0中的一些新功能:

C# 3.0 Design Patterns

3)这可能看起来很奇怪,但阅读其他语言/平台(例如Ruby on Rails)将通过获取不同平台的好坏的提示并组合来帮助您设计类和代码的方式它们。

4)阅读一些关于一般最佳实践和开发方法的书籍。

我推荐的其中一些书籍是:

The Pragmatic Programmer: From Journeyman to Master

Practices of an Agile Developer: Working in the Real World

Code Complete: A Practical Handbook of Software Construction

答案 1 :(得分:3)

我在同一条船上;是一名.Net开发人员已有6年。虽然我有CS学位,但我没有在ASP.Net接受任何正式培训;当项目出现时,我会在工作中学习它。

我发现了解要学习内容的最佳方法是关注.Net开发人员博客。我遵循的一些:

大卫海登http://www.davidhayden.com/blog.aspx CodingHorror.com(你可能熟悉它;-) Scott Hanselman http://www.hanselman.com/blog/

通常在阅读他们的博客时,我会了解最新的.Net解决方案,并指出我应该进一步研究的新技术方向。

总的来说,我只能向你提供我在公司给初级开发人员的建议;意识到你不可能被期望知道一切,但总是渴望学习。祝你好运!

答案 2 :(得分:3)

我完全可以识别。我从1997年开始编程,实际上没有任何正式的培训可言。关于ASP.NET,我所学到的一切都是通过开放代码(社区服务器,BlogEngine.NET,其他ASP.NET入门套件),书籍,LearnVisualStudio.net,并不断被抛到火中。

我有一个大规模的自卑情结,因为我总是在想“我是以聪明的方式还是以无经验的方式做到这一点”。我所知道的是,我的客户很高兴,发生的错误很少,并且很快得到修复,而且我一直在努力工作。

幸运的是,我对自己的工作充满热情,而这正是驱使我不断进步的动力(虽然可能很慢)。

如果你是“人”,那么我认为用户组会议是一个很好的资源。我有点内向,除非聪明的人伸手去握我的手,否则我非常依赖演讲者的演讲来教我一些新东西。可能不是最好的方式,也可能是为什么我没那么多。

但同样,我会强调开放项目,特别是社区服务器。

答案 3 :(得分:1)

找到比你更好的人并向他们学习。

参加一些课程或加入用户组。

答案 4 :(得分:1)

如果您正在寻找会议,请考虑寻找本地Code Camp。这些会议往往很低调,但有很好的信息内容。它们涉及本地演示者和与会者,因此您可以建立联系人和一组人,您可以在需要帮助时将事情运行过去。此外,您可能希望找到(或启动)可以一起学习的本地.NET组。这些可能很难实现,但如果做得好可以成为社区学习的极好来源。

答案 5 :(得分:1)

寻找有趣的方法来打破既定的模式 - 即使在生产力下降也是如此。

否则,听起来你已经处于一个相当不错的位置。你可以提供当前的要求和声音,就像你可以在需要时采取新的技巧。

真的,学习新技术的最佳方法是开展不同的项目 - 即使这意味着改变工作。如果您自2001年以来拥有相关且持续的经验,那么您应该能够选择您的项目。

我一直在为当前的项目编写PHP,这是一个有趣的从webforms的突破。如果有的话,我对这两个模型都有很好的看法,并且真的很期待在MVC中做一些工作。

答案 6 :(得分:1)

我可能会得到一些-1,但作为一名ASP.NET开发人员,我认为你真的不需要学习框架所能提供的所有东西。我之所以这么说是因为多年来我对ASP.NET所有可爱的小便利的了解让我为Windows编写性能更好,更强大的Web应用程序。平衡的设计模式(关注点分离)没有过多的IT将使用更好的“更好”的ASP.NET Web应用程序,而不是使用框架附带的所有控件和工具。

一个典型的例子是你用ASP.NET获得的ajax,以及数据绑定。由于ASP.NET在使用Ajax的游戏中已经很晚了,所以我开始使用自己的ajax包装器(基于早期的ajax书),然后转向jQuery。我的同事都对UpdatePanels和第三方控件发誓,并且用户体验往往比常规帖子更糟糕,更令人困惑(然后我们必须注入javascript以使其表现更好,更无缝)。至于数据绑定,我还没有找到一个可以控制双向绑定的预制控件(来自微软或任何第三方)比1.1天内提出的框架Rick Strahl更好。我们在论文和他发布的一些基类之上构建了一个框架,我还没有看到一些我认为在ASP.NET中处理数据绑定的东西(嗯......除了WPF / Silverlight ......那些框架)真的把它钉在了IMO上。

所以,对我而言,升级ASP.NET技能的途径是提出一些以最干净的方式将业务逻辑分离为逻辑组件的好方法,并学习C#和JavaScript(以及/或像jQuery这样的JS包装器库。对我来说,在学习ASP.NET之前来自LAMP背景,我非常喜欢C#和Visual Studio,但我并不是高级ASP.NET控件的忠实粉丝。

答案 7 :(得分:0)

这是一个非常广泛的问题,很难解决。我认为自己处于类似的空间,所以我想我可以详细说明我一直在关注的是作为一个可能有所帮助的开发人员进行改进。

我主要编写与商业和商业相关的网络应用程序,我的重点是发展对关注点分离,域驱动设计和企业设计模式的深刻理解。

一些关于通用软件设计的书籍,我发现了Steve McConnell的Code Complete和Freeman& Co.的Head First Design Patterns。弗里曼。

我经常阅读SO,Code BetterDDD Step by Step和其他一些博客。

解析其他人编写的代码,并从中学习。向同行学习。如果您处于令人窒息的工作环境中,并没有为您提供成长为开发人员的机会,请考虑寻找新工作。

在一个完全不同的框架中学习一门新语言 - 我一直在家里教自己Ruby on Rails,它给了我一个关于我在商业上做的ASP.NET工作的有趣观点。

鉴于您是ASP.NET Web开发人员,学习MVC.NET肯定会帮助您以全新的方式思考前端开发。

答案 8 :(得分:0)

如果您能负担得起金钱和时间(或者可以让您的公司支付费用),请参加DevelopMentor的课程。他们在全国各地都有课程,全年都有。它们通常为一周,并且深入。