Fuse8.DomainFramework – библиотека для работы с данными Арсен Фазылзянов fuse8 3-я конференция.NET разработчиков 25 сентября 2011
Что это такое? Фактически надстройка над существующими ORM Удобная разработка Разделение на слои + быстрый маппер для Sql command
Для чего создан? Возможность использования кода со многими БД Тестирование Единый подход в разработке + наш велосипед лучше
Из чего состоит? Доменная модель Бизнес-сервисы Слой доступа к данным Абстракция над DI Валидация Кэширование Конфигурация
Domain
Domain - commands
Business service Add, Save, Remove Find by – ID, expression, command Find returns IEnumerable Execute by command Events – add,…
Business service Пример - сохранение объекта
Data access Работает с Linq2Sql Работает с Xml Работает с Sql.Net API Есть InMemory хранилище для тестирования Скоро – поддержка MongoDB
SqlMapper Вычисление sql параметра для property Кодогенерация конструкции вида: SqlMap.Create( "Id", System.Data.SqlDbType.Int, entity.Id, true) Можно задать ignore property Скорость – как у нативного вызова
DI Возможность использование своего DI В комплекте Microsoft Unity Использует Microsoft.Practices.ServiceLocation Lazy load Легко расширить
Вкусные вкусности Абстракция для транзакций Кэширование – HttpContext и Memcached Область действия соединения Конфигурирование через web.config или Fluent interface Логгирование действий T4 шаблоны для генерации кода
Где и когда? Октябрь
Спасибо за внимание Арсен Фазылзянов fuse8