ASP.NET MVC и разработка через тестирование - PullRequest
4 голосов
/ 29 июня 2010

Я начинающий программист .NET.Я изучил C #, Программирование Windows, SQL Server 2005, ASP.NET 3.5.Я хочу спросить, будет ли мне трудно начать работать на работе, требующей ASP.NET MVC и Test Driven Development.Я уже получил книгу "Pro ASP.NET MVC Framework", но эта книга перегружает меня.Так что я могу сделать?Пожалуйста, помогите.

-

Спасибо за ваши ответы, все!Теперь я в замешательстве :-) Но я буду бороться с этим, покажи настойчивость в обучении.

Ответы [ 3 ]

5 голосов
/ 29 июня 2010

Если вы не понимаете MVC или TDD, и работа требует опыта в обеих этих областях, маловероятно, что вы получите работу, однако, если вы откровенны и честны в отношении своего опыта, навыков и стремлений, вы можете спросить,у них есть любые младшие должности, где вы можете работать с людьми в этих областях, чтобы вы могли учиться и продвигаться.

TL; DR Version =)

  1. Чтение блогов
  2. Обучение TDD
  3. Создание простого приложения MVC
  4. Расширение простого приложения MVC с помощью IoC и ORM
  5. Совместное использование простого приложения MVC через github или аналогичное

Полная версия

Изучение TDD и MVC в одно и то же время - большая работа, поскольку MVC является более тестируемым, чем веб-формы, есть еще многоего области, которые чрезвычайно сложно протестировать (исходящая маршрутизация - это та, которая сразу приходит на ум).

Хорошее место для начала - взглянуть на некоторые из каталогов .NET TDD, которые присутствуют, как показано ниже.ты чОпытный специалист по TDD решает простые проблемы с помощью TDD.Вы также можете начать практиковать эти каты самостоятельно, чтобы освоить используемые концепции и подходы.Взгляните на блогосферу - есть много хороших блоггеров, пишущих отличный контент о 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, фильтры, альтернативные механизмы представления ).

Чтобы упростить совместное использование вашего блогового механизма с потенциальными работодателями, используйте бесплатную учетную запись github для хранения своего проекта, чтобы вы могли изучать git, а также mvc / tdd / ioc и orm =)

0 голосов
/ 29 июня 2010

Если вы готовы принять БОЛЬШОЙ вызов, продолжайте. Судя по всему, вы находитесь над головой. Если вы не уверены, что справитесь, я рекомендую сначала получить больше опыта. MVC такой же большой, как WebForms, а TDD еще больше.

Вопрос на самом деле в том, ХОТИТЕ потратить 24/7 следующие несколько месяцев, чтобы наверстать упущенное?

0 голосов
/ 29 июня 2010

Вам предстоит многому научиться, но этого обычно ожидают от начинающих разработчиков.Я думаю, что если вы найдете шанс поработать с командой, имеющей опыт работы с TDD, и сможете поучиться у них, это прекрасная возможность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...