Разделение структуры LINQ to SQL
ОГЛАВЛЕНИЕ
Поскольку все объекты в данной структуре будут проинформированы о IDataContext благодаря внедрению зависимости, мы можем добавить несколько полезных методов к нашим сущностям, такие как "Save" (к примеру Article.Save();). Многие иногда используют EntitySpaces и им нравится этот синтаксис в отличии от LINQ to SQL. Используя Unity в качестве структуры внедрения зависимости, мы можем определить уровень данных в файле конфигурации. Конфигурация существенным образом сопоставляет интерфейсы с объектами, что означает возможность очень простого изменения типа объекта, который мы хотим установить. Это означает, что мы можем создать макет уровня данных, или с легкостью проецировать на совершенно другой уровень данных.
Мы добавили ко всему этому PolicyInjection (внедрение политики) поскольку из-за того, как структура будет собрана, данное внедрение можно будет легко реализовать. Это позволит произвести простую регистрацию, основанную на методах, и кэширование (среди всего прочего). Это хороший пример комбинации внедрения зависимости с внедрением политики.
Исходный проект основан на тестах NUnit.