Межов Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail ...

20

Upload: alessa

Post on 08-Feb-2016

50 views

Category:

Documents


1 download

DESCRIPTION

Построение уровня доступа к данным с использованием шаблона «Спецификация» в приложениях на ASP.NET MVC. Межов Александр Разработчик ПО ОАО ЧЭМК [email protected] http:// twitter.com/AlexMAS. Предыстория. План доклада. Шаблон «Спецификация» Реализация и пример использования - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS
Page 2: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Microsoft TechDayshttp://www.techdays.ru

Построение уровня доступа к данным с использованием шаблона «Спецификация» в приложениях на ASP.NET MVC

Межов АлександрРазработчик ПООАО ЧЭМК[email protected]://twitter.com/AlexMAS

Page 3: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Предыстория

Page 4: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Microsoft TechDayshttp://www.techdays.ru

План доклада

Шаблон «Спецификация»

Реализация и пример использования

Настраиваемые фильтры данных

Page 5: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Microsoft TechDayshttp://www.techdays.ru

Платформа реализации

Microsoft Visual Studio 2010Язык программирования C# 3.5/4.0ADO.NET Entity FrameworkASP.NET MVC Framework

Page 6: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Повторяющиеся условия

Page 7: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Возможное решение

Page 8: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Microsoft TechDayshttp://www.techdays.ru

Шаблон «Спецификация»

Эванс Эрик. Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем.

Спецификация

Объект{ удовлетворяется }

СПЕЦИФИКАЦИЯ – это предикат, который определяет, удовлетворяет объект некоторым критериям или нет

Page 9: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Microsoft TechDayshttp://www.techdays.ru

Шаблон «Спецификация» (продолжение)

Specification<T>

TIsSatisfiedBy

Page 10: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Microsoft TechDayshttp://www.techdays.ru

Применение и реализация спецификации

Проверка пригодности объекта

Выборка объекта(ов) из коллекции

Конструирование объекта по шаблону

Page 11: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Применение и реализация спецификации (продолжение)

Page 12: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Спецификация и Linq-провайдер

Page 13: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Спецификация и Linq-провайдер

Page 14: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Композиция спецификаций

Page 15: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Композиция спецификаций: Пример использования

Page 16: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Композиция спецификаций: Пример реализации

Page 17: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Microsoft TechDayshttp://www.techdays.ru

Пример реализации спецификаций

ДемонстрацияПример реализации шаблона

«Спецификация» (C#)

Page 18: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Microsoft TechDayshttp://www.techdays.ru

Построение уровня доступа к данным

ДемонстрацияПример создания хранилища данных

с использованием шаблона «Спецификация» на базе ADO.NET Entity Framework

Page 19: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS

Microsoft TechDayshttp://www.techdays.ru

СсылкиЭванс Эрик. Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем. Спецификация. http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215

ADO.NET Entity Framework - http://msdn.microsoft.com/ru-ru/library/bb399572.aspx

ASP.NET MVC Framework - http://www.asp.net/mvc

Page 20: Межов  Александр Разработчик ПО ОАО ЧЭМК aszhov@gmail  twitter/AlexMAS