minsk007: (Default)
[personal profile] minsk007
Старшой хуячит на английском реферат на тему программирования и DDD для школы. И зачитывает выписанное из книжки цитаты - никакой огромной модели хорошей для всех быть не может, проблема делится на автономные под-модели, т.к. в каждой под-модели одно и то же понятие может иметь разное значение, нужны чётко границы, чтобы сущности из моделей не перетекали друг в друга, санитарный контроль (sanity checks) между контекстами.
Никаких монолитов с централизованным управлением, небольшие, хорошо определённые автономные модули, код в которых сплочённый (cohesive) и обладает "общими ценностями" в рамках модели и прочее бла-бла-бла. (это я всё, само собой, упрощённо).

Задумайтесь - если заменить все эти программные сущности на человеческие сообщества, то текст этот будет зайклеймлён как расистский, ксенофобный, немультикультурный и т.д.
Если перевести принципы дизайна хорошо спроектированной системы на человеческие сообщества, то оказывается, что глобалистская идея мирового монолита выглядит херово с точки зрения грамотного дизайна, что мульти-культи это плохо, зато "сплочённость" и "общие ценности" в "модуле" это хорошо, автономность - хорошо, сегрегация и границы между разными сущностями - должны быть и прочее.

Ну не забавно ли? Пора, пора вводить прогрессивную агенду в программирование. Только монолиты, разношёрстный код перемешанный как угодно в рамках мульти-культи, никаких bounded contexts с чёткими границами и прочего.

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

Treat bounded contexts like the borders of a country. Nothing should pass into the bounded context unless it goes through the border control and is valid. Just like countries where people speak a different language, so does the code within your bounded context. Be on your guard in case people try to bypass your borders and don’t adhere to your rules and language. One of the most important parts of DDD is the protection of boundaries. A model is defined in a context.
Without enforcing a boundary around the model and defining it within a specific context, you end up with a mass of sprawling code.
.

Date: 2021-02-05 01:58 pm (UTC)
tiresome_cat: (SmilingCat_2)
From: [personal profile] tiresome_cat
Ничо-ничо! В будующем кодить не будут, будут обучать ИИ на реальньіх данньіх. И когда он вьіучится, то скажет - "Да ну, нахуй так жить!" - и запустит ракетьі. (Краткое изложение истории "Скайнет")

Date: 2021-02-05 02:48 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Да, аналогичные наблюдения. Микросервисы - хорошо, центральный аппарат - плохо.

Date: 2021-02-05 03:10 pm (UTC)
balu: (Default)
From: [personal profile] balu

Варто зазначити, що купа монолітних архітектур успішно працює, а мікроядерні архітектури щось не дуже. Лінукс - найкращий приклад

Date: 2021-02-05 03:53 pm (UTC)
balu: (Default)
From: [personal profile] balu

З рази ха! Деякі інструменти провокують на такий стиль. От оті всі Делфі і т.і. І нічого, якось воно працює. Супроводження такого ще той адок, але працює десятки років.

Date: 2021-02-05 04:29 pm (UTC)
balu: (Default)
From: [personal profile] balu

Мова про те, що такі системи - працюють і працюють дуже довго.

Особливо це стосується всяких наворочених гуїв, коли правильність страждає в угоду кон'юнктурі.

Date: 2021-02-05 05:13 pm (UTC)
balu: (Default)
From: [personal profile] balu

Я парочку ERP-систем, написаних в такому от стилі бачив. І нічого, адаптувалися і адаптуються. Хлопці, що їх підтримували хіба більше вовтузилися.

Зрештою, будь-яка система, що досить довго експлуатуються, обростає таким лайном. Навіть якщо, з самого початку, відповідає усім нормам гарного коду.

Date: 2021-02-05 05:36 pm (UTC)
balu: (Default)
From: [personal profile] balu

Це все говорить лише про те, що піпл хаватиме лайно необмежено довго і, навіть, йому це буде подобатись. І марні сподівання, що навернеться через складність супроводу.

Date: 2021-02-05 05:20 pm (UTC)
redis: (Default)
From: [personal profile] redis
Пример Линукса, не как ядра, а идеологии - множество мелких инструментов, объединяя которые, получаешь необходимый функционал.

cat text.txt | grep жопа | wc -l

Date: 2021-02-05 05:37 pm (UTC)
balu: (Default)
From: [personal profile] balu

Ця ідеологія виникла задовго до Лінукса і живе не тільки там.

Date: 2021-02-05 05:42 pm (UTC)
balu: (Default)
From: [personal profile] balu

І саме головне, сфера застосування Unix-вея доволі обмежена. Так і уявляю CLI-графічний редактор.

Date: 2021-02-05 06:41 pm (UTC)
chaource: (Default)
From: [personal profile] chaource
Treat bounded contexts like the borders of a country. Nothing should pass into the bounded context unless it goes through the border control and is valid. Just like countries where people speak a different language, so does the code within your bounded context. Be on your guard in case people try to bypass your borders and don’t adhere to your rules and language. One of the most important parts of DDD is the protection of boundaries.

Какой ужасный расизмъ и bigotry!!! А мы и не знали, что программисты такiе вотъ ужасные гитлеры...

Profile

minsk007: (Default)
minsk007

May 2025

S M T W T F S
    123
45678 910
11121314151617
18192021222324
25262728293031

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 8th, 2026 06:08 am
Powered by Dreamwidth Studios