Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DDD Model definition - image sources #140

Merged
Merged
Changes from 1 commit
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
b43e40f
DDD Model definition - image sources
Oct 11, 2023
de5106c
DDD Model definition - image sources
Oct 11, 2023
8205260
DDD Model definition - image sources
Oct 11, 2023
4e8f000
DDD Model definition - image sources
Oct 11, 2023
68bfc92
fixes
Oct 20, 2023
669b9d8
fixes
Oct 20, 2023
6e502ca
fixes
Oct 21, 2023
c37c91f
fixes
Oct 21, 2023
0db4e58
fixes
Oct 21, 2023
074495f
fixes
Oct 21, 2023
4ca1cb7
fixes
Oct 21, 2023
55a176b
fixes
Oct 21, 2023
9c6cded
fixes
Oct 21, 2023
b8005de
fixes
Oct 21, 2023
19df699
fixes
Oct 22, 2023
58a0e74
fixes
Oct 22, 2023
d1df0b8
fixes
Oct 23, 2023
66d5fdd
fixes
Oct 23, 2023
8fa1f72
fixes
Oct 23, 2023
5c1565e
fixes
Oct 23, 2023
836a7b2
fixes
Oct 23, 2023
d50a15e
fixes
Oct 23, 2023
b3eeeda
fixes
Oct 23, 2023
34478cf
fixes
Oct 23, 2023
07599ec
fixes
Oct 23, 2023
1681b21
fixes
Oct 23, 2023
236e362
fixes
Oct 23, 2023
fadf2cf
fixes
Oct 24, 2023
f264d5f
fixes
Oct 24, 2023
4b2bfed
fixes
Oct 24, 2023
f9c1a47
fixes
Oct 24, 2023
a3bd048
fixes
Oct 24, 2023
07169f4
review
Nov 19, 2023
a333bdd
review
Nov 19, 2023
342c584
review
Nov 19, 2023
7777fee
review
Nov 19, 2023
c3d06b8
review
Nov 19, 2023
e935d32
review
Nov 19, 2023
1f64351
review
Nov 19, 2023
41d2fb6
review
Nov 19, 2023
a82c3f2
review
Nov 19, 2023
134ec62
review
Nov 19, 2023
d552a54
review
Nov 19, 2023
f657e9f
review
Nov 19, 2023
ebbee0b
review
Nov 19, 2023
93940d7
review
Dec 3, 2023
9cce067
review
Dec 3, 2023
6d7ec35
review
Dec 3, 2023
3c55523
review
Dec 3, 2023
8fd5255
review
Dec 3, 2023
32c5f12
review
Dec 3, 2023
8381a6e
review
Dec 3, 2023
f4686f2
review
Dec 17, 2023
d3e0717
review
Dec 17, 2023
b96a8c1
review
Dec 17, 2023
4ff9486
review
Dec 17, 2023
1425a79
review
Dec 17, 2023
3f330f7
review
Dec 17, 2023
3f0d540
review
Dec 17, 2023
87258a4
fix
Dec 17, 2023
652bda1
fix
Dec 17, 2023
31fcf56
fix
Feb 28, 2024
28bb295
fix
Feb 28, 2024
6607953
fix
Feb 28, 2024
f48cbac
fix
Feb 28, 2024
f689d0b
fix
Feb 28, 2024
933f54a
fix
Feb 28, 2024
fde2b1a
fix
Feb 28, 2024
924b8a4
fix
Feb 28, 2024
2ca2b68
fix
Feb 28, 2024
84c157c
fix
Feb 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 20 additions & 6 deletions stanislav.bolsun/it/ddd/domain-model/domain-model-definition.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,12 @@ Domain Model Definition
Каждая модель имеет свой контекст применимости, без контекста применимости мы не сможем создать модель, так как не знаем какую проблему решаем (то есть какие свойства и поведение нужны для решения конкретной проблемы).

.. figure:: _media/model_of_earth_processes.png
:alt: Model of Earth processes. The image source is "https://www.britannica.com/science/axiomatic-method"
:alt: Model of Earth processes. The image source is https://www.britannica.com/science/axiomatic-method
:align: center
:width: 100%

Model of Earth processes. The image source is https://www.britannica.com/science/axiomatic-method

На изображении выше, мы видим модель процессов Земли, служащую для решения определенных задач.

Ограниченный контекст, являясь границей модели, определяет контекст применимости этой модели.
Expand Down Expand Up @@ -71,6 +73,8 @@ Domain Model Definition
:align: center
:width: 100%

Real object, model and implementation

Важное уточнение: Модель - это абстракция, которая формирует реализацию, но не является реализацией, хотя реализация и может осуществлять (реализовывать) эту модель.
Модель это часть solution space.

Expand Down Expand Up @@ -116,20 +120,24 @@ Domain Model Definition
1. Карта морского ориентирования (цилиндрическая проекция Меркатора)

.. figure:: _media/mercator_projection.png
:alt: Mercator projection. The image source is presentation "https://www.youtube.com/watch?v=dnUFEg68ESM&ab_channel=Domain-DrivenDesignEurope"
:alt: Mercator projection. The image source is presentation https://www.youtube.com/watch?v=dnUFEg68ESM&ab_channel=Domain-DrivenDesignEurope
:align: center
:width: 100%

Mercator projection. The image source is presentation https://www.youtube.com/watch?v=dnUFEg68ESM&ab_channel=Domain-DrivenDesignEurope

Такие карты используют относительное искажение размеров объектов относительно друг друга, но помогают направлять компас в сторону нужной конечной точки (направление на карте полностью совпадет со стрелкой компаса).
На этой карте Африка и Гренландия выглядят равными по площади, но в действительности, Африка в 14 раз больше Гренландии, то есть у карты есть четкое предназначение, задача для которой она нужна, и только для нее - навигация судов.

2. Картографическая проекция земного шара на поверхность многогранника (проекция Димаксион (Фуллера))

.. figure:: _media/fuller_projection.png
:alt: Fuller projection. The image source is "https://ru.m.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Fuller_projection_rotated.svg"
:alt: Fuller projection. The image source is https://ru.m.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Fuller_projection_rotated.svg
:align: center
:width: 100%

Fuller projection. The image source is https://ru.m.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Fuller_projection_rotated.svg

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

.. seealso::
Expand All @@ -154,10 +162,12 @@ Domain Model Definition
-- "Прикладной системный анализ" Ф.П. Тарасенко

.. figure:: _media/tarasenko_model.png
:alt: Tarasenko model. The image source is "'Прикладной системный анализ' Ф.П. Тарасенко, глава '3.8. Синтетический подход к понятию модели'"
:alt: Tarasenko model. The image source is 'Прикладной системный анализ' Ф.П. Тарасенко, глава '3.8. Синтетический подход к понятию модели'
:align: center
:width: 100%

Tarasenko model. The image source is 'Прикладной системный анализ' Ф.П. Тарасенко, глава '3.8. Синтетический подход к понятию модели'

и следует за этим:

💬 "Продолжая рассмотрение отношений между моделью и оригиналом, остановимся на содержании информации в модели. Оригинал и модель — разные вещи.
Expand Down Expand Up @@ -205,10 +215,12 @@ Domain Model Definition
В качестве примера можно привести модель обыкновенного огурца, где термин "огурец" в каждом ограниченном контексте имеет строгое и однозначное толкование (но разное): плод, ингредиент, груз ...

.. figure:: _media/cucumber_BC.jpg
:alt: cucumber in diffent Bounded Contexts
:alt: Сucumber in diffent Bounded Contexts
:align: center
:width: 100%

Сucumber in diffent Bounded Contexts

[Дополнение] Про профессиональные языки от Тарасенко:

💬 "Главная для нас особенность — то, что язык является универсальным средством моделирования: говорить можно о чем угодно. Из многих свойств языка, обеспечивающих ему это свойство, обратим внимание на расплывчатость смысла слов.
Expand Down Expand Up @@ -279,10 +291,12 @@ Domain Model Definition
Посетитель, пользователь, клиент, покупатель, плательщик, получатель, адресат - это все тоже модели одного и того же объекта моделирования.

.. figure:: _media/bc_perspective.png
:alt: Different pespectives are matter. The image source is "https://mnogogranniki.ru/dodekaedr.html"
:alt: Different pespectives are matter. The image source is https://mnogogranniki.ru/dodekaedr.html
:align: center
:width: 60%

Different pespectives are matter. The image source is https://mnogogranniki.ru/dodekaedr.html

Владик отлично выводит противоречие, как опытный диалектик:

💬 "However, it is more difficult to represent such a divergent model of the business domain in software. Source code doesn’t cope well with ambiguity. If we were to bring the sales department’s complicated model into marketing,
Expand Down