Я довольно плохо знаком с IoC, внедрением зависимостей и модульным тестированием.Я запускаю новый проект для домашних животных и пытаюсь сделать это правильно.
Я планировал использовать шаблон Repository для взаимодействия с данными.Объекты, которые я собирался вернуть из репозиториев, должны были быть объектами, собранными из Linq для контекста данных сущностей (EF4).
Я читаю в «Внедрение зависимостей» изМарк Симан, который делает это, создает важную зависимость и определенно усложнит тестирование (именно это он использует объекты POCO в библиотечном проекте).
Я не понимаю, почему.Хотя объекты создаются с помощью контекста linq to entity, я могу создать их, просто вызвав конструктор, поскольку они были обычными объектами.Поэтому я предполагаю, что возможно создать поддельные репозитории, которые разбивают эти объекты на вызывающую сторону.
Меня также беспокоит автоматическое создание классов POCO, что не очень просто.
Можеткто-нибудь принести свет?Являются ли объекты POCO необходимыми для развязанного и тестируемого проекта?
** РЕДАКТИРОВАТЬ: Благодаря Yuck я понимаю, что лучше избегать автогенерации с шаблонами, что приводит меня к вопросу дизайна.Если я пришел из большой унаследованной базы данных, в которой его таблицы предполагают различные виды ответственности (не вписывается в концепцию класса с одной ответственностью), как лучше всего справиться с этим?
Удалить базу данных не вариант; -)