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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #pltrx

当前筛选 #pltrx清除筛选
CryptoBull_360™

@cryptobull_360 · Post #48386 · 16.02.2026 г., 08:52

OI Gainers (4h) 1. #SIREN 37.59M 90.08% 2. #SHELL 4.35M 56.33% 3. #GOLD 7.93M 41.49% 4. #INIT 52.29M 33.60% 5. #PTB 10.62M 27.14% 6. #PLTRX 1.75M 24.58% 7. #ACE 5.99M 20.19% 8. #TNSR 9.48M 20.09% 9. #YZY 1.93M 15.48% 10. #MUBARAK 9.68M 15.26% OI Losers (4h) 1. #VVV 47.8M -16.98% 2. #WAVES 5.81M -16.60% 3. #SLVON 1.49M -15.45% 4. #DIA 1.63M -14.71% 5. #1000CAT 1.66M -13.73% 6. #FHE 14.78M -12.95% 7. #MONAD 1.91M -10.70% 8. #SCRT 3.41M -10.67% 9. #VANRY 5.31M -9.46% 10. #OWL 1.65M -9.27%