🗊Презентация Command Query Responsibility Segregation

Нажмите для полного просмотра!
Command Query Responsibility Segregation, слайд №1Command Query Responsibility Segregation, слайд №2Command Query Responsibility Segregation, слайд №3Command Query Responsibility Segregation, слайд №4Command Query Responsibility Segregation, слайд №5Command Query Responsibility Segregation, слайд №6Command Query Responsibility Segregation, слайд №7Command Query Responsibility Segregation, слайд №8Command Query Responsibility Segregation, слайд №9Command Query Responsibility Segregation, слайд №10Command Query Responsibility Segregation, слайд №11Command Query Responsibility Segregation, слайд №12Command Query Responsibility Segregation, слайд №13Command Query Responsibility Segregation, слайд №14Command Query Responsibility Segregation, слайд №15Command Query Responsibility Segregation, слайд №16Command Query Responsibility Segregation, слайд №17Command Query Responsibility Segregation, слайд №18Command Query Responsibility Segregation, слайд №19Command Query Responsibility Segregation, слайд №20Command Query Responsibility Segregation, слайд №21Command Query Responsibility Segregation, слайд №22Command Query Responsibility Segregation, слайд №23Command Query Responsibility Segregation, слайд №24

Вы можете ознакомиться и скачать презентацию на тему Command Query Responsibility Segregation. Доклад-сообщение содержит 24 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Command Query Responsibility Segregation
ИЛИ ПРОСТО ЦЭКУЭРЭС
Описание слайда:
Command Query Responsibility Segregation ИЛИ ПРОСТО ЦЭКУЭРЭС

Слайд 2





Но для начала выкинем R из CQRS
CQS – Command Query Separation, разделение команд и запросов
Основная идея CQS заключается в том, что любые методы могут быть только двух типов:
- Queries – возвращают результат, не изменяя состояние объекта
- Commands - изменяют состояние объекта, не возвращая значение
Описание слайда:
Но для начала выкинем R из CQRS CQS – Command Query Separation, разделение команд и запросов Основная идея CQS заключается в том, что любые методы могут быть только двух типов: - Queries – возвращают результат, не изменяя состояние объекта - Commands - изменяют состояние объекта, не возвращая значение

Слайд 3





Не-CQS-ный код
Описание слайда:
Не-CQS-ный код

Слайд 4





Превращается в CQS-ный код
Описание слайда:
Превращается в CQS-ный код

Слайд 5





А вот теперь CQRS
CQRS – Command Query Responsibility Segregation, разделение ответственности на команды и запросы
Та же идея, что и в CQS, но на более высоком уровне – на уровне всей системы
Для изменения состояния системы используем Command
Для выборки данных о состоянии системы используем Query
Описание слайда:
А вот теперь CQRS CQRS – Command Query Responsibility Segregation, разделение ответственности на команды и запросы Та же идея, что и в CQS, но на более высоком уровне – на уровне всей системы Для изменения состояния системы используем Command Для выборки данных о состоянии системы используем Query

Слайд 6





CRUD-сценарий
Описание слайда:
CRUD-сценарий

Слайд 7





Что происходит дальше?
- У нас есть концептуальная модель, которая взаимодействует с основными объектами нашего домена
- Мы стараемся сделать наше хранилище наиболее приближенным к нашим данным
- Нам требуется выбирать и отображать все более сложно связанные данные, в том числе отчеты
- Наши объекты становятся все более сложными с большим количеством вспомогательных полей
- Вслед за объектами усложняется и хранилище
- Появляется лишнее для команд, нужное только для запросов
Описание слайда:
Что происходит дальше? - У нас есть концептуальная модель, которая взаимодействует с основными объектами нашего домена - Мы стараемся сделать наше хранилище наиболее приближенным к нашим данным - Нам требуется выбирать и отображать все более сложно связанные данные, в том числе отчеты - Наши объекты становятся все более сложными с большим количеством вспомогательных полей - Вслед за объектами усложняется и хранилище - Появляется лишнее для команд, нужное только для запросов

Слайд 8





CQRS-сценарий
Описание слайда:
CQRS-сценарий

Слайд 9





CQRS-сценарий с разными хранилищами
Описание слайда:
CQRS-сценарий с разными хранилищами

Слайд 10





Эволюция команд и запросов на практике
Акт первый
Описание слайда:
Эволюция команд и запросов на практике Акт первый

Слайд 11





Эволюция команд и запросов на практике
Акт второй
Описание слайда:
Эволюция команд и запросов на практике Акт второй

Слайд 12





Эволюция команд и запросов на практике
Акт третий
Описание слайда:
Эволюция команд и запросов на практике Акт третий

Слайд 13





Эволюция команд и запросов на практике
Акт четвертый
Описание слайда:
Эволюция команд и запросов на практике Акт четвертый

Слайд 14





Эволюция команд и запросов на практике
Занавес
- Меньше зависимостей в каждом классе
- Соблюдается принцип единственной ответственности
- Маленький класс проще заменить
- Маленький класс проще тестировать
- В целом дизайн кода однотипный и понятный
- При расширении функциональности системы сложность дизайна растет почти линейно
Описание слайда:
Эволюция команд и запросов на практике Занавес - Меньше зависимостей в каждом классе - Соблюдается принцип единственной ответственности - Маленький класс проще заменить - Маленький класс проще тестировать - В целом дизайн кода однотипный и понятный - При расширении функциональности системы сложность дизайна растет почти линейно

Слайд 15





CQRS может быть на любом уровне
Тенденция рефакторинга:
- Растет количество классов
- Растет количество методов в каждом классе
- Растет количество зависимостей каждого класса
- Разбиваем их на Command и Query
Вместо больших классов с множеством зависимостей мы движемся в сторону большого количества маленьких однотипных классов, каждый из которых отвечает за единственное бизнес-правило
Описание слайда:
CQRS может быть на любом уровне Тенденция рефакторинга: - Растет количество классов - Растет количество методов в каждом классе - Растет количество зависимостей каждого класса - Разбиваем их на Command и Query Вместо больших классов с множеством зависимостей мы движемся в сторону большого количества маленьких однотипных классов, каждый из которых отвечает за единственное бизнес-правило

Слайд 16





Наш недо-CQRS
Описание слайда:
Наш недо-CQRS

Слайд 17





Наш недо-CQRS
Описание слайда:
Наш недо-CQRS

Слайд 18





Наш недо-CQRS
Описание слайда:
Наш недо-CQRS

Слайд 19





Наш недо-CQRS
Описание слайда:
Наш недо-CQRS

Слайд 20





Наш недо-CQRS
Описание слайда:
Наш недо-CQRS

Слайд 21





Наш недо-CQRS
Описание слайда:
Наш недо-CQRS

Слайд 22





Как это выглядит в бою?
Описание слайда:
Как это выглядит в бою?

Слайд 23





Как это выглядит в бою?
Описание слайда:
Как это выглядит в бою?

Слайд 24





Почему недо-CQRS?
Работа по большей части с CRUD
При выполнении команды хочется тут же получить какой-то результат и использовать его для отрисовки UI
После добавления элемента часто необходимо перенаправить пользователя на страницу с только что добавленным элементом
Мы изменяем поля CommandContext-ов, мы сожалеем
Описание слайда:
Почему недо-CQRS? Работа по большей части с CRUD При выполнении команды хочется тут же получить какой-то результат и использовать его для отрисовки UI После добавления элемента часто необходимо перенаправить пользователя на страницу с только что добавленным элементом Мы изменяем поля CommandContext-ов, мы сожалеем



Похожие презентации
Mypresentation.ru
Загрузить презентацию