🗊Презентация Введение в проектирование по предметной области (DDD)

Нажмите для полного просмотра!
Введение в проектирование по предметной области (DDD), слайд №1Введение в проектирование по предметной области (DDD), слайд №2Введение в проектирование по предметной области (DDD), слайд №3Введение в проектирование по предметной области (DDD), слайд №4Введение в проектирование по предметной области (DDD), слайд №5Введение в проектирование по предметной области (DDD), слайд №6Введение в проектирование по предметной области (DDD), слайд №7Введение в проектирование по предметной области (DDD), слайд №8Введение в проектирование по предметной области (DDD), слайд №9Введение в проектирование по предметной области (DDD), слайд №10Введение в проектирование по предметной области (DDD), слайд №11Введение в проектирование по предметной области (DDD), слайд №12Введение в проектирование по предметной области (DDD), слайд №13Введение в проектирование по предметной области (DDD), слайд №14Введение в проектирование по предметной области (DDD), слайд №15Введение в проектирование по предметной области (DDD), слайд №16Введение в проектирование по предметной области (DDD), слайд №17Введение в проектирование по предметной области (DDD), слайд №18Введение в проектирование по предметной области (DDD), слайд №19Введение в проектирование по предметной области (DDD), слайд №20Введение в проектирование по предметной области (DDD), слайд №21Введение в проектирование по предметной области (DDD), слайд №22Введение в проектирование по предметной области (DDD), слайд №23Введение в проектирование по предметной области (DDD), слайд №24Введение в проектирование по предметной области (DDD), слайд №25Введение в проектирование по предметной области (DDD), слайд №26Введение в проектирование по предметной области (DDD), слайд №27Введение в проектирование по предметной области (DDD), слайд №28

Содержание

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

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


Слайд 1





Введение в проектирование по предметной области (DDD)
Бакулева Екатерина. Хозяшев Павел. Вылегжанин Михаил.
Описание слайда:
Введение в проектирование по предметной области (DDD) Бакулева Екатерина. Хозяшев Павел. Вылегжанин Михаил.

Слайд 2





В начале было….
Описание слайда:
В начале было….

Слайд 3





Определение DDD
Описание слайда:
Определение DDD

Слайд 4





Плюсы и минусы, а везде ли использовать?
Минусы:
Требует высокой квалификации разработчиков;
Требует много времени на анализ информации и построение модели;
В большинстве случае требует совместной работы разработчика и специалиста.
Описание слайда:
Плюсы и минусы, а везде ли использовать? Минусы: Требует высокой квалификации разработчиков; Требует много времени на анализ информации и построение модели; В большинстве случае требует совместной работы разработчика и специалиста.

Слайд 5





DDD. Основные понятия 
Domain Model (Модель)- это структурированные знания, которые связаны с определенной предметной областью.  
Core domain (cмысловое ядро) - часть домена, имеющая первостепенное значение для выполнения главной задачи. 
Описание слайда:
DDD. Основные понятия  Domain Model (Модель)- это структурированные знания, которые связаны с определенной предметной областью.   Core domain (cмысловое ядро) - часть домена, имеющая первостепенное значение для выполнения главной задачи. 

Слайд 6


Введение в проектирование по предметной области (DDD), слайд №6
Описание слайда:

Слайд 7





Единый язык
Единый язык - общий и понятный всем, как специалистам так и разработчикам, язык общения. Является хранилищем переработанных знаний о предметной области и включает: 
название принципов высокоуровневой организации;
имена классов, основных операций, шаблонов, модулей;
метафорический образ системы;
любые другие термины\словари используемые в модели.
Описание слайда:
Единый язык Единый язык - общий и понятный всем, как специалистам так и разработчикам, язык общения. Является хранилищем переработанных знаний о предметной области и включает:  название принципов высокоуровневой организации; имена классов, основных операций, шаблонов, модулей; метафорический образ системы; любые другие термины\словари используемые в модели.

Слайд 8





Переработка знаний
Начиная писать программу, невозможно знать достаточно.  
В основе создания модели лежит переработка знаний.
Переработка знаний - получение информации о предметной области в удобной, понятной и структурированной форме. 
Непрерывное обучение, в процессе итерационной разработки –  постоянное изучение предметной области в процессе формирования модели и общения со специалистами\пользователями.
Описание слайда:
Переработка знаний Начиная писать программу, невозможно знать достаточно.   В основе создания модели лежит переработка знаний. Переработка знаний - получение информации о предметной области в удобной, понятной и структурированной форме.  Непрерывное обучение, в процессе итерационной разработки –  постоянное изучение предметной области в процессе формирования модели и общения со специалистами\пользователями.

Слайд 9





Task Tracker: первое приближение
Единый язык:
Task Tracker
User
Task 
BussinesProcess 
Step
Domain Core
Описание слайда:
Task Tracker: первое приближение Единый язык: Task Tracker User Task BussinesProcess Step Domain Core

Слайд 10





Углубленная модель
Углубленная модель – модель, которая наиболее точно описывает предметную область.
Инициализация:
ответ на проблему в коде;
пропущено важное понятие;
модель не отражает предметную область;
реализацию и модель не получается синхронизировать;
Кризис\тупиковая ситуация при разработке.
Описание слайда:
Углубленная модель Углубленная модель – модель, которая наиболее точно описывает предметную область. Инициализация: ответ на проблему в коде; пропущено важное понятие; модель не отражает предметную область; реализацию и модель не получается синхронизировать; Кризис\тупиковая ситуация при разработке.

Слайд 11





Task Tracker : Углубленная модель
Единый язык:
Task Tracker
User
Task 
BussinesProcess 
Step
Domain Core
Project
Permission
Описание слайда:
Task Tracker : Углубленная модель Единый язык: Task Tracker User Task BussinesProcess Step Domain Core Project Permission

Слайд 12





Составляющие эффективного моделирования
  Единый язык - язык, основанный на модели;
  Информоемкая модель - модель максимально точно отражает предметную область;
Описание слайда:
Составляющие эффективного моделирования Единый язык - язык, основанный на модели; Информоемкая модель - модель максимально точно отражает предметную область;

Слайд 13





DDD в крупномасштабных проектах
Ограниченные контексты;
Карта контекстов;
Взаимосвязи между контекстами:
Общее ядро;
Заказчик-поставщик;
Конформист;
Предохранительный уровень;
Отдельное существование;
Службы с открытым протоколом.
Непрерывная интеграция;
Разделение модели по уровням;
Дистилляция:
Выделение ядра модели;
Выбор целей рефакторинга;
Декларативное программирование.
Описание слайда:
DDD в крупномасштабных проектах Ограниченные контексты; Карта контекстов; Взаимосвязи между контекстами: Общее ядро; Заказчик-поставщик; Конформист; Предохранительный уровень; Отдельное существование; Службы с открытым протоколом. Непрерывная интеграция; Разделение модели по уровням; Дистилляция: Выделение ядра модели; Выбор целей рефакторинга; Декларативное программирование.

Слайд 14





Заключение
Описание слайда:
Заключение

Слайд 15





Объекты модели
Сущность 
Объект-значение
Сервис 
Модуль  
Агрегат 
Фабрика
Хранилище
???
Описание слайда:
Объекты модели Сущность  Объект-значение Сервис  Модуль   Агрегат  Фабрика Хранилище ???

Слайд 16





DDD не говорит тебе, как писать код
Абстракция. Инкапсуляция. Наследование. Полиморфизм.
SOLID
KISS
GoF
ORM
…
Описание слайда:
DDD не говорит тебе, как писать код Абстракция. Инкапсуляция. Наследование. Полиморфизм. SOLID KISS GoF ORM …

Слайд 17





Пример DDD : реализация биллинга телефонного оператора.

Кратко про биллинг:
Комплекс процессов и решений, ответственных за сбор информации об использовании телекоммуникационных услуг, их тарификацию, выставление счетов абонентам, обработку платежей (wiki)
 
Основные функции:
Тарификация услуг(звонков), хранение истории
Выставление счетов
Обработка платежей
Описание слайда:
Пример DDD : реализация биллинга телефонного оператора. Кратко про биллинг: Комплекс процессов и решений, ответственных за сбор информации об использовании телекоммуникационных услуг, их тарификацию, выставление счетов абонентам, обработку платежей (wiki)   Основные функции: Тарификация услуг(звонков), хранение истории Выставление счетов Обработка платежей

Слайд 18





Тарификация услуг звонков

Клиент может звонить(и звонки тарифицируются в соответствии с тарифом клиента), менять тариф, пополнять баланс
 
Клиент может звонить :
Клиент звонит на номер, после разговора у него с баланса списываются деньги в соответствии с его тарифом. Если баланс отрицательный, клиент не может позвонить – выдается сообщение об ошибке.
Описание слайда:
Тарификация услуг звонков Клиент может звонить(и звонки тарифицируются в соответствии с тарифом клиента), менять тариф, пополнять баланс   Клиент может звонить : Клиент звонит на номер, после разговора у него с баланса списываются деньги в соответствии с его тарифом. Если баланс отрицательный, клиент не может позвонить – выдается сообщение об ошибке.

Слайд 19





Объекты модели:
Объекты модели:
Клиент
Тариф
Баланс
Звонок? Номер?
Операции:
Звонить?
Списание средств с баланса (Тарификация)?
Описание слайда:
Объекты модели: Объекты модели: Клиент Тариф Баланс Звонок? Номер? Операции: Звонить? Списание средств с баланса (Тарификация)?

Слайд 20





Звонок изнутри, со стороны оператора:
Звонок изнутри, со стороны оператора:
С сим-карты поступает звонок на номер. Если на сим карте недостаточно денег, выдается сообщение об ошибке. Иначе звонок совершается. По окончанию звонка с баланса сим карты списываются деньги в соответствии с правилом тарификации по тарифу
Объекты модели:
Сим карта
Клиент ( ! Оставили, потому что … )
Тариф 
Правило тарификации
Баланс
Звонок
Операции:
Звонить => Сервис, который инициирует звонок
Списание средств с баланса => Сервис тарификации
Описание слайда:
Звонок изнутри, со стороны оператора: Звонок изнутри, со стороны оператора: С сим-карты поступает звонок на номер. Если на сим карте недостаточно денег, выдается сообщение об ошибке. Иначе звонок совершается. По окончанию звонка с баланса сим карты списываются деньги в соответствии с правилом тарификации по тарифу Объекты модели: Сим карта Клиент ( ! Оставили, потому что … ) Тариф Правило тарификации Баланс Звонок Операции: Звонить => Сервис, который инициирует звонок Списание средств с баланса => Сервис тарификации

Слайд 21





Посмотрим код.
Описание слайда:
Посмотрим код.

Слайд 22





Выставление счетов
В зависимости от тарифа ежемесячно клиенту выставляется общий  счет, суммируется абонентская плата и подключенные к симке услуги, с учетом времени пользования. Если услугу подключили и отключили в один день, то в счет попадает сумма за весь день пользования
?????
Описание слайда:
Выставление счетов В зависимости от тарифа ежемесячно клиенту выставляется общий счет, суммируется абонентская плата и подключенные к симке услуги, с учетом времени пользования. Если услугу подключили и отключили в один день, то в счет попадает сумма за весь день пользования ?????

Слайд 23





Я: Абонентская плата – это признак тарифа?
Я: Абонентская плата – это признак тарифа?
Я: Подключенные услуги – что услуги, подключенные к тарифу?
B: Да, у тарифа может быть абонентская плата, или её может не быть.
B: Нет, услуги подключаются на сим карту, при смене тарифа должны оставаться
Новые объекты:
Тариф
Абонентская плата
Сим-карта
Услуга
Общий счет
Описание слайда:
Я: Абонентская плата – это признак тарифа? Я: Абонентская плата – это признак тарифа? Я: Подключенные услуги – что услуги, подключенные к тарифу? B: Да, у тарифа может быть абонентская плата, или её может не быть. B: Нет, услуги подключаются на сим карту, при смене тарифа должны оставаться Новые объекты: Тариф Абонентская плата Сим-карта Услуга Общий счет

Слайд 24





Всё хорошо, но нет
Тариф
Услуга
Клиент?
Описание слайда:
Всё хорошо, но нет Тариф Услуга Клиент?

Слайд 25






Как оно работает?
Откуда оно взялось?
Что с ним будет дальше?
Если мы это поменяем здесь и сейчас, кто должен увидеть эти изменения?
Описание слайда:
Как оно работает? Откуда оно взялось? Что с ним будет дальше? Если мы это поменяем здесь и сейчас, кто должен увидеть эти изменения?

Слайд 26





B: А давай ещё АРМ добавим и систему информирования? У нас ведь всё написано, это ж быстро
B: А давай ещё АРМ добавим и систему информирования? У нас ведь всё написано, это ж быстро
Я: Нет.
Описание слайда:
B: А давай ещё АРМ добавим и систему информирования? У нас ведь всё написано, это ж быстро B: А давай ещё АРМ добавим и систему информирования? У нас ведь всё написано, это ж быстро Я: Нет.

Слайд 27





Список использованной литературы
Эрик Эванс: Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем;
Флойд Маринеску и Эйбел Аврам: Domain-Driven Design Quickly;
Презентация Tados’а по DDD: Предметно-ориентированное проектирование.
https://habrahabr.ru/post/158277/ - Парадигмы программирования. Data Driven vs Domain Driven
https://habrahabr.ru/post/258693/ - Снова о разработке на основе предметной области (Domain-Driven Design, DDD)
https://habrahabr.ru/post/173893/ - Проектируем по DDD. Часть 1: Domain & Application
Описание слайда:
Список использованной литературы Эрик Эванс: Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем; Флойд Маринеску и Эйбел Аврам: Domain-Driven Design Quickly; Презентация Tados’а по DDD: Предметно-ориентированное проектирование. https://habrahabr.ru/post/158277/ - Парадигмы программирования. Data Driven vs Domain Driven https://habrahabr.ru/post/258693/ - Снова о разработке на основе предметной области (Domain-Driven Design, DDD) https://habrahabr.ru/post/173893/ - Проектируем по DDD. Часть 1: Domain & Application

Слайд 28





Первая версия примера
Описание слайда:
Первая версия примера



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