Upload
alexander-byndyu
View
1.078
Download
0
Embed Size (px)
DESCRIPTION
По материалам конференции
Citation preview
Fuse8.DomainFramework – библиотека для работы с данными
Арсен Фазылзяновfuse8
http://www.fuse8.com
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 шаблоны для генерации кода
Где и когда?
Октябрь 2011
http://df.codeplex.com