Итак, после нескольких дней чтения и большого количества поисков, я заставил его работать. Сначала я попытался выяснить, что на самом деле означает IoC (Inversion of Control).
Одним из первых сайтов, которые я нашел, был веб-сайт со скринкастом о Unity. Который является структурой DI / IoC для .Net.
Глядя на это сейчас, на самом деле это очень хороший скринкаст и пример того, как легко использовать Unity и IoC / DI. В то время я не понимал этого полностью, поэтому я продолжал гуглить.
Один сайт, с которым я продолжал сталкиваться, был от Мартина Фаулера.
Для меня, человека, который является новичком в области кодирования, этот сайт немного абстрагируется. Кроме того, это может звучать странно, но шрифт, высота строки и типография на этом веб-сайте были действительно ужасными, что делало его еще труднее читать.
Следующий сайт, который я прочитал, был о Виндзорском замке, так как Альфредо Фернандес сказал, что им легко пользоваться.
Документация не была плохой, но у меня были некоторые проблемы с преобразованием их базового примера для начинающих в мое приложение Asp.net Mvc. Кроме того, части 2 и 3 отсутствовали в их начале.
После этого я начал искать различные фреймворки, чтобы посмотреть, смогу ли я найти действительно простой пример. Если бы я только посмотрел на первый скринкаст снова, я бы исправил его гораздо раньше, но каким-то образом я потерял его.
У меня было много проблем с файлами конфигурации xml, и я не мог заставить их работать. Я пробовал Windsor, Structure Map и Spring.net, но я всегда застрял с XML-файлами.
Поэтому я решил зайти на сайт Asp.net Mvc, потому что там я начал узнавать об Asp.net Mvc. Мне показались первые скринкасты и презентации MIX09 очень понятными, и я поняла большую часть того, о чем говорили люди. Я застрял на второй заставке Роба Конери при создании приложения Storefront. Поскольку я знал немного больше о репозитории и IOC / DI, я подумал, что будет хорошей идеей снова начать смотреть скриншоты Роба Конери. В одном из скринкастов он рассказывает о загрузке всех семплов в кодовый комплекс.
Я пошел в codeplex и обнаружил, что вы можете просматривать исходные файлы, не загружая их. Я попытался выяснить, как Роб Конери обрабатывает IOC / DI со своими репозиториями. Поэтому я был рад видеть, что он использует Structure Map, но вместо использования файла конфигурации xml он использовал класс начальной загрузки, который регистрирует все интерфейсы для их конкретного класса.
Попробовав это с моим веб-приложением, я наконец смог заставить Структурную Карту работать в моем приложении (Ура).
Он также показал мне, как исправить зависимость от моего класса Product, который идет от Linq до Sql. Он создает дополнительный объект, который затем вызывается «select new product {}» в запросах Linq.
Ух ты, этот ответ немного длиннее, чем я планировал, но я надеюсь, что это поможет другим людям, таким как я, которые очень новички в программировании и Asp.net Mvc.