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

14
Fuse8.DomainFramework – библиотека для работы с данными Арсен Фазылзянов fuse8 http://www.fuse8.com 3-я конференция .NET разработчиков 25 сентября 2011

description

По материалам конференции

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

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

Fuse8.DomainFramework – библиотека для работы с данными

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

http://www.fuse8.com

3-я конференция .NET разработчиков25 сентября 2011

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

Что это такое?

• Фактически надстройка над существующими ORM

• Удобная разработка• Разделение на слои• + быстрый маппер для Sql command

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

Для чего создан?

• Возможность использования кода со многими БД

• Тестирование• Единый подход в разработке• + наш велосипед лучше

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

Из чего состоит?

• Доменная модель• Бизнес-сервисы• Слой доступа к данным• Абстракция над DI• Валидация• Кэширование• Конфигурация

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

Domain

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

Domain - commands

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

Business service

• Add, Save, Remove• Find by – ID, expression, command• Find returns IEnumerable• Execute by command• Events – add,…

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

Business service

Пример - сохранение объекта

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

Data access

• Работает с Linq2Sql• Работает с Xml• Работает с Sql .Net API• Есть InMemory хранилище для

тестирования• Скоро – поддержка MongoDB

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

SqlMapper

• Вычисление sql параметра для property• Кодогенерация конструкции вида: SqlMap.Create(

"Id", System.Data.SqlDbType.Int, entity.Id, true)

• Можно задать ignore property• Скорость – как у нативного вызова

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

DI

• Возможность использование своего DI• В комплекте Microsoft Unity• Использует

Microsoft.Practices.ServiceLocation• Lazy load• Легко расширить

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

Вкусные вкусности

• Абстракция для транзакций• Кэширование – HttpContext и Memcached• Область действия соединения • Конфигурирование через web.config или Fluent interface• Логгирование действий• T4 шаблоны для генерации кода

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

Где и когда?

Октябрь 2011

http://df.codeplex.com

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

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

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

[email protected]