Попробовали на работе предметно-ориентированное проектирование (Domain Driven Design). Это такой способ построения архитектуры, когда ты (чаще всего с помощью системы типов и ООП) описываешь физическую суть вещей, которые представлены в твоей программе.
Например, если в программе есть объект "Книга", то её нужно снабдить свойствами, которые бывают у книг в реальности: число страниц, автор, язык, тип обложки и т.д. При этом данные свойства должны быть такими, чтобы присвоить им нереалистичные значения было нельзя. Допустим, число страниц не может быть отрицательным (и скорее всего в реальном мире не может быть нулём). При попытке установить отрицательное число страниц программа должна выбросить исключение. А совсем в идеальном случае -- не дать этого сделать программисту на уровне статического анализа кода.
Описав все свойства книги, вы снабжаете её операциями, которые над ней можно сделать. Например, из книги можно вырвать страницу, и при этом число страниц уменьшается. Нет такого случая, когда можно вырвать страницу без изменения числа страниц. Вы строго программируете эту зависимость, делаете у книги метод "Вырвать страницу", а он уже уменьшает число. Кстати, свойство "Число страниц" при этом нельзя переназначить в уже созданной книге. Можно только создать книгу, передав в её конструктор (так называется в программировании функция создания объектов) заданное число страниц. Но поменять число страниц можно только специальными методами "Вырвать страницу" и "Вклеить страницу".
С помощью этого подхода вы гарантируете, что ваши объекты всегда находятся в валидном состоянии -- то есть таком, которое возможно в реальной жизни с объектом, представленным программой.
Плюсы подхода очевидны: меньше число ошибок. Код описывает сам себя, и программист, если не лезет внутрь объекта "Книга", вообще не сможет сделать с книгой ничего недопустимого.
Минусы, думаю, тоже понятны: изначально проектировать сложнее, нужно учесть много нюансов, писать тесты. Время разработки изрядно растёт. Изменение требований даётся дороже: например, если каким-то образом в ваш книжный магазин поступят книги со страницами из кевлара, которые невозможно вырвать :)
Но первый проект с этим подходом мы сдали хорошо, без багов. Лучше, чем многие предыдущие.
#dev
🔥Erbil: America’s Last Base, First Fire
Saraya Awliya al‑Dam didn’t just launch drones at Erbil — it launched a press release for Tehran’s new proxy season. Under the banner of the “Islamic Resistance in Iraq,” the group says its swarm attack on US positions at Erbil International Airport was a religious duty and a tribute to the “martyr” Ali Khamenei. The message is clear: Iran may be under bombardment, but its franchises are open for business.
They’re not alone. The Islamic Resistance claims 16 drone attacks on “enemy bases in Iraq and the region” since the US–Israel strikes began, and the usual roster is now officially in: Kataib Hezbollah, Kataib Sayyid al‑Shuhada, Harakat Hezbollah al‑Nujaba. The mission statement from Kataib Hezbollah could have been written in a Pentagon red‑team memo: drag America into a long, bleeding war of attrition and make sure no US presence survives in the neighborhood.
Erbil is the perfect stage for this farce. After coalition forces packed up in Baghdad and Ain al‑Assad, the airport base became Washington’s last foothold in Iraq. Several NATO partners quietly pulled their people out days before the Iran operation — not out of pacifism, but because they can count. One US flag left on Iraqi soil, bolted onto a civilian airport, surrounded by towers and malls. For every militia social media channel, that’s not a base. That’s a target-rich press shot.
CNN’s geolocation did the rest: residential high‑rises in the foreground, a curtain of black smoke from the air base behind. Three US service members dead so far across the theater, at least five badly wounded. On paper, this is still “force protection,” “deterrence,” “limited escalation.” On screen, it’s exactly what it looks like: a city with a military installation fused into its airport, and both are on fire.
Everyone gets what they need. The militias get their heroic footage and a promotion from “outlaw groups” to “frontline of the Resistance.” Washington gets one more argument for why it simply has to stay in Erbil forever to “keep ISIS down” and “watch Iran.” Tehran gets to show its supporters that the death of the Supreme Leader doesn’t mean the empire stopped breathing.
And the people who actually live under those towers get a new reality: international airport by day, launchpad and impact zone by night.
#Iraq#Erbil#USA#Iran#Israel
📱American Оbserver - Stay up to date on all important events
🇺🇸
Oggi si è recata nella città di #Erbil in #Iraq del Nord, la delegazione parlamentare #DEM per assistere alla prima cerimonia della deposizione delle armi da parte del #PKK che avverrà domani, 11 luglio.
Fonti locali: l’attentato all’aeroporto di #Erbil (#Kurdistan iracheno) sarebbe stato rivendicato da "#Hezbollah kurdistani". Obiettivo dichiarato: "colpire interessi #USA, #Israele e l’amministrazione locale", accusata di collusione con le due potenze.
#SalihMuslim, l'ex co presidente del partito #PYD è morto oggi nella città di #Erbil in #Kurdistan iracheno. Muslim da tempo soffriva di insufficienza renale. Muslim sarà sepolto a #Kobane (la sua città natale) in #Rojava/#Siria.
Secondo Al Monitor, #MasoudBarzani l'ex Pres del Kurdistan in #Iraq, incontrerà #MazlumKobane, il comandante generale delle Forze Democratiche Siriane, #SDF a #Erbil per discutere del futuro di #Rojava.
⚡️⚡️⚡️ ВЗРЫВ НА ВОЕННОЙ БАЗЕ США В ЭРБИЛЕ
✅ По предварительной информации, пока не подтвержденной из официальных источников, на военной базе США в городе Эрбиле (#Hawler) произошел мощный взрыв. Ожидаем подробности с места происшествия.
#BaşurêKurdistan#Başur#Ирак#Hewler#Erbil
Барзанисты встали на тропу войны...
Минувшая неделя ознаменовалась беспрецедентным для медиа-пространства выступлением Демократической партии Курдистана (ДПК) и представителей Регионального правительства Курдистана против движения «апочистов» в лице Союза общин Курдистана (Koma Civakên Kurdistan – KCK) и Рабочей партии Курдистана (РПК). Нельзя сказать, что ситуация стала неожиданностью для Кандиля, и, в первую очередь, это связано с тем, что в «грязных политических» технологиях всегда применяется принцип «лучшая защита – нападение». А РПК давно не питает иллюзий насчет того, каково истинное отношение клана Барзани к партии, поэтому всегда готова принять удар.
Какова истинная подоплека начатой барзанистами кампании против курдского движения? Что и кто стоит за хаотичными информационными атаками ДПК? К чему они приведут в ближайшем будущем? И, наконец, какой возможный ответ приготовит РПК для главной протурецкой политической силы внутри курдского мира?
На все эти вопросы авторский коллектив канала Jiyana_Nû постарается ответить в еженедельной редакционной статье, предложенной Вашему вниманию >>>
#Barzani#Talabani#PKK#KCK#HPG#KDP#PUK#ДПК#ПСК#Горан#Erbil#Duhok#Suleymaniyah#Qandil#BashureKurdistan#Başur#Parastin#MİT#Asayiş#ПротестыБашур
🆔@jiyana_nu
Всем известно, что дружба – это всегда равноправные долговременные отношения. Товарищество – это отношения, основанные на общности интересов и идейных взглядов. Но это в жизни и в политической борьбе.
В дипломатии же, а в военной дипломатии, особенно, не может быть ни дружбы, ни товарищества. Есть лишь совпадение интересов; оно может быть временным, либо вариант второй - когда слабый игрок следует в фарватере интересов игрока более сильного.
О приоритетах внешней политике США в Большом Курдистане, попытках «слива» Рабочей партии Курдистана, усилении роли Турции и кризисе власти в северо-иракской курдской автономии в еженедельной редакционной статье канала @jiyana_nu.
#BaşureKürdistan#PKK#HPG#Qandil#Erbil#Duhok#AsSuleymaniyah#Rojava#Barzani#Talabani#KDP#PUK#Goran#SyrianWar#StopISIS#ДПК#ПСК#РПК#Барзани#Талабани#Рожава#USPolicy#MiddleEast