2010-06-28 68 views
4

我是no.NET.NET程序员。我学过C#,Windows编程,SQL Server 2005,ASP.NET 3.5。我想问一下,如果开始在需要ASP.NET MVC和测试驱动开发的工作中工作很困难或不适合。我已经获得了“Pro ASP.NET MVC框架”一书,但是这本书使我沉重负担。那么我能做什么?请帮忙。ASP.NET MVC和测试驱动开发

-

感谢您的回答!我现在更加困惑:-)但是我要与它抗争显示坚持学习。

+1

混乱简直是那种认识的感觉还有更多的知道,但还不知道从哪里开始。阅读博客/其他人的代码/写代码*总是*开始学习的最佳地点=) – Neal 2010-06-29 20:02:06

回答

5

如果你不了解MVC或TDD,并且这两项工作都需要经验,那么你不太可能会得到这份工作,但是如果你对自己的经验,技能和愿望坦诚直言,你可以问如果他们有任何初级职位,你可以在这些领域与人合作,这样你就可以学习并向上移动。

的TL; DR版本=)

  1. 阅读博客
  2. 了解TDD
  3. 构建简单MVC应用程序
  4. 扩展简单MVC应用程序与国际奥委会和ORM
  5. 分享简单的MVC通过github或类似的应用程序

完整版

学习TDD和MVC在同一时间大量的工作为而MVC比的WebForms更容易测试,有一些是非常困难的考验仍然很多领域(出站路由是一个这是想到的立即)。

一个很好的开始就是看看一些.NET TDD katas,因为它们会告诉你一个有经验的TDD医生如何用TDD解决简单的问题。您也可以自己开始练习这些katas,以适应所使用的概念和方法。看看博客圈 - 有很多优秀的博客写MVC和TDD的优秀内容。

一旦你完成了最初的TDD障碍,建立一个简单的MVC网站 - 就像经典的博客引擎。为了减少您最初的认知负荷,保持真正简单:

  • 存储所有信息列表中的内存,并使用一个简单的界面,以隐藏,从你的控制器实现 - 这意味着你可以忽略短期数据访问术语。
  • 使用测试构造函数即public MyController(IPostDao posts) { ... }并将其重载以便在运行时使用public MyController() : this(new SessionPostDao()) {} - 这意味着您可以在短期内忽略IoC容器。

请务必注意,这些“快捷键”仅用于减少学习曲线的陡峭程度,不应在生产代码中使用。

一旦您开始构建一个简单的MVC应用程序,将IoC容器添加到组合中。我会建议Ninject,因为它具有最常见的.NET IoC容器文档,并且似乎是最简单的启动和运行。请记住,在您使用IoC构建控制器之后,请删除那些丑陋的重载构造函数。

接下来添加一些真正的持久性,我更喜欢NHibernate到EF,但NH学习曲线疯狂地陡峭(即使当您使用ActiveRecord)。 LightSpeed是一个很好的选择,因为免费版仅限于8个模型班,使用非常简单,但缺点是未来的雇主可能没有使用它。

现在您已经使用MVC构建了一个简单的博客引擎,您的控制器通过IoC容器进行组装,您的持久性通过ORM进行处理(全部由各种单元和集成测试覆盖),您可以使用它向未来的雇主展示多少你知道 - 但要记住,这仅仅是一种表面处理,构建MVC应用程序比构建一些控制器,IoC和ORM(例如路由,查看heplers,过滤器,alternative view engines)还要多。

为了与潜在的雇主更简单的分享你的博客引擎,使用免费的github帐户存储项目,这样你可以学到的git以及MVC/TDD/IOC和ORM =)

0

你将会学到很多东西,但这通常是对初级开发者的期望。我认为,如果你找到一个与TDD经验丰富的团队合作的机会,并且可以向他们学习,那么这是一个很好的机会。

0

如果你正在为一个大挑战,一切手段继续。通过你头顶上的东西的外观。如果你不确定你可以管理,我建议先获得一些经验。 MVC与WebForms一样大,TDD更大。

问题的确是,你想在接下来的几个月里花上24/7吗?