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

💬️ “Модель - это упрощение; это такая интерпретация реальности, при кото­рой из явления извлекаются существенные для решения задачи аспекты, а лишние детали игнорируются.

A model is a simplification. It is an interpretation of reality that abstracts the aspects relevant to solving the problem at hand and ignores extraneous detail.”

—“Domain-Driven Design: Tackling Complexity in the Heart of Software” by Eric Evans, перевод В.Л. Бродового

Я затрудняюсь в точном переводе термина problem. И хотя употребление термина "проблема" не совсем корректно, но термин "задача" (task) тесно ассоциируется в SDLC с запросом на системный инкремент (т.е. о том, как нужно изменить конструкцию). Поэтому я предпочитаю придерживаться термина "проблема".

В контексте решения проблемы определения степени загрузки лифта все, что требуется от оригинала (т.е. от человека) - это его масса.

Но если мы посмотрим на оригинал как на сотрудника, то нам его масса станет нерелевантной, зато релевантными станут его должность, отдел, обязанности и т.п. Которые, в свою очередь, будут нерелевантными в контекста определения степени загрузки лифта.

А вот для столовой нам будет релевантно только то, есть ли у человека какая-то предписанная ему диета и имеются ли аллергические реакции.

Если мы посмотрим на оригинал как на плательщика, то нам будут релевантными только его платежные реквизиты.

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

В перечисленных моделях рассматриваются совершенно различные аспекты оригинала.

У @StanislavBolsun есть хороший Long Read по моделированию.

Понимание основ моделирования - это фундамент эффективной разработки. Без этого фундамента не получится создать крупную систему. Поэтому определение контуров моделей и их разделение - это основная (но не единственная) цель антикризисной архитектуры.



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

Представьте, что нужно проложить маршрут из Москвы в Мурманск. Сможет ли это сделать человек по точной копии Земли в масштабе один к одному? Очевидно, что нет, т.к. количество деталей, нерелевантных решаемой проблеме (т.е. паразитная когнитивная нагрузка), превысит когнитивные возможности человека. Чтобы осуществить эту задачу, необходимо абстрагироваться от нерелевантных деталей и снизить уровень единовременно рассматриваемой сложности. Т.е. нужно оставить в модели только те аспекты оригинала моделирования, которые релевантны решаемой проблеме. Именно этим и занимаются навигационные карты.

💬️ “Модель - это упрощение; это такая интерпретация реальности, при кото­рой из явления извлекаются существенные для решения задачи аспекты, а лишние детали игнорируются.

A model is a simplification. It is an interpretation of reality that abstracts the aspects relevant to solving the problem at hand and ignores extraneous detail.”

—“Domain-Driven Design: Tackling Complexity in the Heart of Software” by Eric Evans, перевод В.Л. Бродового

Я затрудняюсь в точном переводе термина problem. И хотя употребление термина "проблема" не совсем корректно, но термин "задача" (task) тесно ассоциируется в SDLC с запросом на системный инкремент (т.е. о том, как нужно изменить конструкцию). Поэтому я предпочитаю придерживаться термина "проблема".

В контексте решения проблемы определения степени загрузки лифта все, что требуется от оригинала (т.е. от человека) - это его масса.

Но если мы посмотрим на оригинал как на сотрудника, то нам его масса станет нерелевантной, зато релевантными станут его должность, отдел, обязанности и т.п. Которые, в свою очередь, будут нерелевантными в контекста определения степени загрузки лифта.

А вот для столовой нам будет релевантно только то, есть ли у человека какая-то предписанная ему диета и имеются ли аллергические реакции.

Если мы посмотрим на оригинал как на плательщика, то нам будут релевантными только его платежные реквизиты.

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

В перечисленных моделях рассматриваются совершенно различные аспекты оригинала.

У @StanislavBolsun есть хороший Long Read по моделированию.

Понимание основ моделирования - это фундамент эффективной разработки. Без этого фундамента не получится создать крупную систему. Поэтому определение контуров моделей и их разделение - это основная (но не единственная) цель антикризисной архитектуры.

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




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

View MORE
Open in Telegram


Telegram News

Date: |

Over 33,000 people sent out over 1,000 doxxing messages in the group. Although the administrators tried to delete all of the messages, the posting speed was far too much for them to keep up. Judge Hui described Ng as inciting others to “commit a massacre” with three posts teaching people to make “toxic chlorine gas bombs,” target police stations, police quarters and the city’s metro stations. This offence was “rather serious,” the court said. When choosing the right name for your Telegram channel, use the language of your target audience. The name must sum up the essence of your channel in 1-3 words. If you’re planning to expand your Telegram audience, it makes sense to incorporate keywords into your name. During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. In the “Bear Market Screaming Therapy Group” on Telegram, members are only allowed to post voice notes of themselves screaming. Anything else will result in an instant ban from the group, which currently has about 75 members.
from us


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