140 likes | 261 Views
3 -я конференция .NET разработчиков 2 5 сентября 2011. Fuse8.DomainFramework – библиотека для работы с данными. Арсен Фазылзянов fuse8 http://www.fuse8.com. Что это такое?. Фактически надстройка над существующими ORM Удобная разработка Разделение на слои
E N D
3-я конференция .NET разработчиков 25 сентября 2011 Fuse8.DomainFramework – библиотека для работы с данными Арсен Фазылзянов fuse8 http://www.fuse8.com
Что это такое? • Фактически надстройка над существующими ORM • Удобная разработка • Разделение на слои • + быстрый маппер для Sql command
Для чего создан? • Возможность использования кода со многими БД • Тестирование • Единый подход в разработке • + наш велосипед лучше
Из чего состоит? • Доменная модель • Бизнес-сервисы • Слой доступа к данным • Абстракция над DI • Валидация • Кэширование • Конфигурация
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
Спасибо за внимание • Арсен Фазылзянов • fuse8 • arsen.fazylzyanov@fuse8.com