我是新手.NET程序员。我学习了C#,Windows编程,SQL Server 2005,ASP.NET 3.5。我想问一下,开始从事需要ASP.NET MVC和测试驱动开发的工作是否困难或不合适。我已经获得了“Pro ASP.NET MVC Framework”这本书,但这本书让我感到担忧。那我该怎么办?请帮忙。
-
感谢您的回答,全部!我现在更困惑了:-)但是我要反对它表明坚持学习。
答案 0 :(得分:5)
如果您不了解MVC或TDD并且这项工作需要在这两方面都有经验,那么您不太可能获得这份工作,但是如果您对自己的经验,技能和愿望持开放态度,那么您可以询问他们有任何初级职位,您可以在这些领域与人合作,以便您可以学习和提升。
TL; DR版本=)
完整版
同时学习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 =)
答案 1 :(得分:0)
你将需要学习很多东西,但这通常是初级开发人员所期望的。我想如果你有机会与TDD经验丰富的团队合作并且可以向他们学习,那么这是一个很好的机会。
答案 2 :(得分:0)
如果你想通过一切手段继续进行大挑战。通过你的东西看你的头脑。如果你不确定你可以管理我建议先获得更多经验。 MVC和WebForms一样大,而TDD甚至更大。
真正的问题是,你想在接下来的几个月里全天候赶上吗?