От монолитных моделей предметной области - к модульным (Максим Цепков на WIAD-2017) — различия между версиями

Материал из MaksWiki
Перейти к: навигация, поиск
(Новая страница: « Доклад прочитан 18.02 на [http://2017.worldiaday.org World Information Architecture Day-2017] в Петербурге [https://uxspb.timepad.ru/…»)
 
м
Строка 5: Строка 5:
  
 
Доклад про '''построение моделей предметной области'''. 20 лет назад делали большие монолитные ERP, но сейчас нет сомнений, что гибкий и быстро развиваемый софт должен быть модульным, а объекты – инкапсулировать сложность. Тот же путь проходят системы понятий и модели, описывающие предметную область, и Domain-Driven Design перенес наследование, полиморфизм, инкапсуляцию, плагины и другие подходы к разработке софта на работу с онтологиями и моделями предметной области.
 
Доклад про '''построение моделей предметной области'''. 20 лет назад делали большие монолитные ERP, но сейчас нет сомнений, что гибкий и быстро развиваемый софт должен быть модульным, а объекты – инкапсулировать сложность. Тот же путь проходят системы понятий и модели, описывающие предметную область, и Domain-Driven Design перенес наследование, полиморфизм, инкапсуляцию, плагины и другие подходы к разработке софта на работу с онтологиями и моделями предметной области.
 +
 +
= Краткое содержание =
 +
 +
[[Файл:Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf|right|page=4|450px]]
 +
[[Файл:Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf|right|page=6|450px]]
 +
[[Файл:Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf|right|page=8|450px]]
 +
 +
'''Цельная модель предметной области - идеалистичный миф прошлого'''
 +
* Приложения давно модульные, а модель предметной области часто хотят построить на общей непротиворечивой системе понятий
 +
* Это основано на убеждении, что '''существует непротиворечивая и целостная картина мира''', которую мы можем не знать, но выясняем
 +
* Может быть, в мире идеальных объектов Платона и Декарта так и есть, но на практике целостная картина оказывается '''слишком жесткой'''
 +
 +
'''Разрабатывая Domain Driven Design, Эрик Эванс осознал эту проблему и предложил решение - Ограниченный контекст (bounded context)''' (Эрик Эванс. DDD. Часть IV «Стратегическое проектирование»)
 +
* Предметную область следует разделить на ограниченные контексты (bounded context)
 +
* Целостность удерживается за счет карты этих контекстов (context map)
 +
* Имена (понятия) включаются в единый язык
 +
* Для изоляции контекстов применяем те же подходы ООП, что и для разработки софта
 +
* Для работы с похожими контекстами тоже применяем подходы ООП
 +
Эрик Эванс описывает конкретные шаблоны, на основе которых формулируется взаимодействие контекстов.
 +
 +
Но в докладе я не пересказывал книгу, а рассмотрел задачу построения контекстов для двух задач
 +
* Контексты для операционных документов - на примере оптовой торговли
 +
* Контексты для справочников - на примере каталога товаров
  
 
= Презентация =
 
= Презентация =
 +
 +
[[Файл:Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf|left|page=-|300px]]
  
 
[[Категория:Доклады]]
 
[[Категория:Доклады]]

Версия 14:00, 18 февраля 2017

Доклад прочитан 18.02 на World Information Architecture Day-2017 в Петербурге
Программа встречи 
Анонс выступления в блоге
Видео ожидается

Доклад про построение моделей предметной области. 20 лет назад делали большие монолитные ERP, но сейчас нет сомнений, что гибкий и быстро развиваемый софт должен быть модульным, а объекты – инкапсулировать сложность. Тот же путь проходят системы понятий и модели, описывающие предметную область, и Domain-Driven Design перенес наследование, полиморфизм, инкапсуляцию, плагины и другие подходы к разработке софта на работу с онтологиями и моделями предметной области.

Краткое содержание

Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf
Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf
Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf

Цельная модель предметной области - идеалистичный миф прошлого

  • Приложения давно модульные, а модель предметной области часто хотят построить на общей непротиворечивой системе понятий
  • Это основано на убеждении, что существует непротиворечивая и целостная картина мира, которую мы можем не знать, но выясняем
  • Может быть, в мире идеальных объектов Платона и Декарта так и есть, но на практике целостная картина оказывается слишком жесткой

Разрабатывая Domain Driven Design, Эрик Эванс осознал эту проблему и предложил решение - Ограниченный контекст (bounded context) (Эрик Эванс. DDD. Часть IV «Стратегическое проектирование»)

  • Предметную область следует разделить на ограниченные контексты (bounded context)
  • Целостность удерживается за счет карты этих контекстов (context map)
  • Имена (понятия) включаются в единый язык
  • Для изоляции контекстов применяем те же подходы ООП, что и для разработки софта
  • Для работы с похожими контекстами тоже применяем подходы ООП

Эрик Эванс описывает конкретные шаблоны, на основе которых формулируется взаимодействие контекстов.

Но в докладе я не пересказывал книгу, а рассмотрел задачу построения контекстов для двух задач

  • Контексты для операционных документов - на примере оптовой торговли
  • Контексты для справочников - на примере каталога товаров

Презентация

Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf Use OOP for Domain Ontology - Tsepkov WIAD-2017.pdf