Изменения

м
Нет описания правки
Доклад про '''построение моделей предметной области'''. 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]]
[[Категория:Доклады]]