Fuse8.domain framework - анонс библиотеки для работы с данными

Preview:

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

Спасибо за внимание

Арсен Фазылзяновfuse8

arsen.fazylzyanov@fuse8.com

Recommended