EMACSWAY_LOG Telegram 1385
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Чтобы лучше вообразить то, что происходит в мозгу, когда объем единовременно рассматриваемой сложности превышает возможности краткосрочной памяти человека, посмотрите на эту картинку. Сколько точек вы видите? Ваши глаза не могут увидеть все 12 точек одновременно.…
Один из способов ввести мозг разработчика в состояние "умственного жонглирования" - это "звездная" ("божественная") модель, которая решает несколько проблем. Или, если сказать по другому, - совмещение нескольких моделей в границах одного компонента.

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

На практике к этому зачастую приводит "проектирование от сущностей" (от "структур данных"). Образуется сущность, которая знает все про всех, и содержит:
- массу тела;
- должность, отдел, обязанности;
- диеты, аллергии;
- платежные реквизиты;
- адрес;
- и т.п.

При попытке компонентного разделения такой "исторически сложившейся" системы, например, при выделении компонента, ответственного за платежи, перед программистом возникает вопрос: а что делать, если для функционирования одного компонента нужна сущность, которая находится в другом компоненте? Возникает то, что получило название "распределенный монолит". Модель размазывается на несколько компонентов.

Это несущественно, пока система маленькая. Но по мере роста размеры системы это приводит к кризису и препятствует дальнейшему росту системы. Никто не знает какой атрибут сущности кем и где используется. Изменение одного атрибута по одной причине может привести к тому, что в системе отвалится что-то другое, совершенно не связанное с этой причиной, только лишь потому, что один и тот же атрибут одной и той же сущности используется для решения разных проблем. Становится невозможно за всем уследить.

С целью решения именно этой проблемы Alberto Brandolini предлагает проектировать сущности в самую последнюю очередь, когда уже известны границы моделей.

Вообще говоря, архитектура занимается проведением границ и управлением осведомленности через эти границы. По каким же признакам можно определить эти границы?

См. также:
- https://www.tgoop.com/emacsway_log/1152
- https://www.tgoop.com/emacsway_log/1295
👍6🔥3💯2



tgoop.com/emacsway_log/1385
Create:
Last Update:

Один из способов ввести мозг разработчика в состояние "умственного жонглирования" - это "звездная" ("божественная") модель, которая решает несколько проблем. Или, если сказать по другому, - совмещение нескольких моделей в границах одного компонента.

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

На практике к этому зачастую приводит "проектирование от сущностей" (от "структур данных"). Образуется сущность, которая знает все про всех, и содержит:
- массу тела;
- должность, отдел, обязанности;
- диеты, аллергии;
- платежные реквизиты;
- адрес;
- и т.п.

При попытке компонентного разделения такой "исторически сложившейся" системы, например, при выделении компонента, ответственного за платежи, перед программистом возникает вопрос: а что делать, если для функционирования одного компонента нужна сущность, которая находится в другом компоненте? Возникает то, что получило название "распределенный монолит". Модель размазывается на несколько компонентов.

Это несущественно, пока система маленькая. Но по мере роста размеры системы это приводит к кризису и препятствует дальнейшему росту системы. Никто не знает какой атрибут сущности кем и где используется. Изменение одного атрибута по одной причине может привести к тому, что в системе отвалится что-то другое, совершенно не связанное с этой причиной, только лишь потому, что один и тот же атрибут одной и той же сущности используется для решения разных проблем. Становится невозможно за всем уследить.

С целью решения именно этой проблемы Alberto Brandolini предлагает проектировать сущности в самую последнюю очередь, когда уже известны границы моделей.

Вообще говоря, архитектура занимается проведением границ и управлением осведомленности через эти границы. По каким же признакам можно определить эти границы?

См. также:
- https://www.tgoop.com/emacsway_log/1152
- https://www.tgoop.com/emacsway_log/1295

BY emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.




Share with your friend now:
tgoop.com/emacsway_log/1385

View MORE
Open in Telegram


Telegram News

Date: |

Just at this time, Bitcoin and the broader crypto market have dropped to new 2022 lows. The Bitcoin price has tanked 10 percent dropping to $20,000. On the other hand, the altcoin space is witnessing even more brutal correction. Bitcoin has dropped nearly 60 percent year-to-date and more than 70 percent since its all-time high in November 2021. How to Create a Private or Public Channel on Telegram? Telegram desktop app: In the upper left corner, click the Menu icon (the one with three lines). Select “New Channel” from the drop-down menu. 1What is Telegram Channels? The channel also called on people to turn out for illegal assemblies and listed the things that participants should bring along with them, showing prior planning was in the works for riots. The messages also incited people to hurl toxic gas bombs at police and MTR stations, he added.
from us


Telegram emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
FROM American