TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #247 · 11.03

Попробовали на работе предметно-ориентированное проектирование (Domain Driven Design). Это такой способ построения архитектуры, когда ты (чаще всего с помощью системы типов и ООП) описываешь физическую суть вещей, которые представлены в твоей программе. Например, если в программе есть объект "Книга", то её нужно снабдить свойствами, которые бывают у книг в реальности: число страниц, автор, язык, тип обложки и т.д. При этом данные свойства должны быть такими, чтобы присвоить им нереалистичные значения было нельзя. Допустим, число страниц не может быть отрицательным (и скорее всего в реальном мире не может быть нулём). При попытке установить отрицательное число страниц программа должна выбросить исключение. А совсем в идеальном случае -- не дать этого сделать программисту на уровне статического анализа кода. Описав все свойства книги, вы снабжаете её операциями, которые над ней можно сделать. Например, из книги можно вырвать страницу, и при этом число страниц уменьшается. Нет такого случая, когда можно вырвать страницу без изменения числа страниц. Вы строго программируете эту зависимость, делаете у книги метод "Вырвать страницу", а он уже уменьшает число. Кстати, свойство "Число страниц" при этом нельзя переназначить в уже созданной книге. Можно только создать книгу, передав в её конструктор (так называется в программировании функция создания объектов) заданное число страниц. Но поменять число страниц можно только специальными методами "Вырвать страницу" и "Вклеить страницу". С помощью этого подхода вы гарантируете, что ваши объекты всегда находятся в валидном состоянии -- то есть таком, которое возможно в реальной жизни с объектом, представленным программой. Плюсы подхода очевидны: меньше число ошибок. Код описывает сам себя, и программист, если не лезет внутрь объекта "Книга", вообще не сможет сделать с книгой ничего недопустимого. Минусы, думаю, тоже понятны: изначально проектировать сложнее, нужно учесть много нюансов, писать тесты. Время разработки изрядно растёт. Изменение требований даётся дороже: например, если каким-то образом в ваш книжный магазин поступят книги со страницами из кевлара, которые невозможно вырвать :) Но первый проект с этим подходом мы сдали хорошо, без багов. Лучше, чем многие предыдущие. #dev

Hashtags

Резултати

Намерени 1 подобни публикации

Търсене: #mandelamonth

当前筛选 #mandelamonth清除筛选

🎙 Comment by Russian Ambassador to South Africa Roman Ambarov to TASS (August 5, 2025) ❓Question: What charitable initiatives is the Russian Embassy in South Africa involved in? 💬Roman Ambarov: Russia has always been and remains a reliable friend of the Republic of South Africa—not only in the fields of political, economic, cultural, and educational cooperation, but also in providing humanitarian aid. In its work, the Russian Embassy in South Africa follows a principle supported by the President of the Russian Federation, Vladimir Putin: “African solutions to African problems.” We regularly take part in charitable initiatives organized by South Africa’s Department of International Relations and Cooperation during #MandelaDay and #MandelaMonth. In July of this year, together with other foreign diplomatic missions, we supported a primary school in Gauteng Province that is in dire need of funding by donating chalkboards and food for the students. I would like to emphasize that our charitable work is not limited to one-time actions. It is a year-round, systematic effort carried out by our Embassy staff. Two South African children’s institutions are under the care of the Russian diplomatic mission — the Bophelong Children’s Home in Mamelodi and the New Jerusalem Children’s Home in Midrand. Our diplomats regularly visit the children, show genuine interest in their lives and challenges, and offer help whenever possible. Our aim is not only to provide necessities but also to bring joy and positive emotions. It has already become a tradition to invite children from these institutions to screenings of Russian films, organized by the Embassy in one of Pretoria’s theaters. Last year, together with the parish of the Russian Orthodox Church in Johannesburg, we hosted a screening of the popular animated film Masha and the Bear for the children of New Jerusalem. The joy and excitement on the children’s faces as they clapped and sang along with Masha was the greatest reward for us. These events are usually accompanied by friendly tea parties with Russian pastries, as well as educational presentations about Russia, our culture, traditions, and holidays. As Nelson Mandela once said, “There can be no greater gift than giving one’s time and energy to help others without expecting anything in return.” We fully share this philosophy and try to embody it in our work. #RussiaHelps