@TFGames · Post #1883 · 09.01.2024 г., 13:43
#GAME#TRACK https://testflight.apple.com/join/pUFt7YIR
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #247 · 11.03
Попробовали на работе предметно-ориентированное проектирование (Domain Driven Design). Это такой способ построения архитектуры, когда ты (чаще всего с помощью системы типов и ООП) описываешь физическую суть вещей, которые представлены в твоей программе. Например, если в программе есть объект "Книга", то её нужно снабдить свойствами, которые бывают у книг в реальности: число страниц, автор, язык, тип обложки и т.д. При этом данные свойства должны быть такими, чтобы присвоить им нереалистичные значения было нельзя. Допустим, число страниц не может быть отрицательным (и скорее всего в реальном мире не может быть нулём). При попытке установить отрицательное число страниц программа должна выбросить исключение. А совсем в идеальном случае -- не дать этого сделать программисту на уровне статического анализа кода. Описав все свойства книги, вы снабжаете её операциями, которые над ней можно сделать. Например, из книги можно вырвать страницу, и при этом число страниц уменьшается. Нет такого случая, когда можно вырвать страницу без изменения числа страниц. Вы строго программируете эту зависимость, делаете у книги метод "Вырвать страницу", а он уже уменьшает число. Кстати, свойство "Число страниц" при этом нельзя переназначить в уже созданной книге. Можно только создать книгу, передав в её конструктор (так называется в программировании функция создания объектов) заданное число страниц. Но поменять число страниц можно только специальными методами "Вырвать страницу" и "Вклеить страницу". С помощью этого подхода вы гарантируете, что ваши объекты всегда находятся в валидном состоянии -- то есть таком, которое возможно в реальной жизни с объектом, представленным программой. Плюсы подхода очевидны: меньше число ошибок. Код описывает сам себя, и программист, если не лезет внутрь объекта "Книга", вообще не сможет сделать с книгой ничего недопустимого. Минусы, думаю, тоже понятны: изначально проектировать сложнее, нужно учесть много нюансов, писать тесты. Время разработки изрядно растёт. Изменение требований даётся дороже: например, если каким-то образом в ваш книжный магазин поступят книги со страницами из кевлара, которые невозможно вырвать :) Но первый проект с этим подходом мы сдали хорошо, без багов. Лучше, чем многие предыдущие. #dev
Hashtags
Търсене: #track
@TFGames · Post #1883 · 09.01.2024 г., 13:43
#GAME#TRACK https://testflight.apple.com/join/pUFt7YIR
@TFGames · Post #1454 · 10.12.2023 г., 15:50
#BRICK#TRACK#GAMES https://testflight.apple.com/join/mCfICaAk
@TestFlightX · Post #34530 · 07.11.2024 г., 10:41
#CAFFEINE#APP#TRACK#CAFFEINE https://testflight.apple.com/join/2Cxj93zY
@igornewlp · Post #270 · 10.03.2026 г., 05:45
Прекрасный весенний праздник прошел, и многих рядом согревают праздничным теплом букеты тюльпанов. У этих цветов есть интересная финансовая история. Подробнее о ней и об аналогиях с продажами грузовой техники - в журнале АТЭС: «…весьма вероятно, что средний ежемесячный объём продаж в 2026 году будет в интервале 3–3,5 тысячи грузовиков в месяц. Или – 36–43 тысячи за год...» https://ates.media/f/ates_0225.pdf _______________ Подписаться. Игорь Латышев. С уважением, ваш ИВЛ (в логистике). #база#волны#FTL#фура#track
@testflightynoti · Post #37968 · 09.05.2026 г., 19:56
#WanderDays#Track#Country#Days Join the WanderDays: Track Country Days beta on ✈️#TestFlight 🔗 Link: https://testflight.apple.com/join/EeuAEawr Shared by Dimitri
@TestFlightX · Post #34472 · 04.11.2024 г., 10:33
#READ#RATE#TRACK#YOUR#READING https://testflight.apple.com/join/ohOnY6yp
@botsgram_cu · Post #3379 · 11.01.2021 г., 13:10
@Shekelbot Qué puede hacer este bot? ShekelBot le ayudará a contar su dinero. Úselo, cuando le das dinero a alguien, o comparte compras. Idioma: Inglés (visto en @BotsGram_cu) #money, #track, #send, #receive, #friends, #debt
@botsgram_cu · Post #3209 · 29.11.2020 г., 16:21
@BanWarnBot Qué puede hacer este bot? Este bot realiza un seguimiento de la frecuencia con la que advirtió a alguien y pateará / prohibirá después de un límite establecido. Idioma: Inglés (visto en @BotsGram_cu) #ban, #warn, #group, #track, #kick, #member, #helper
@botsgram_cu · Post #3283 · 13.12.2020 г., 03:10
@DebtsTrackerBot Qué puede hacer este bot? Este bot realiza un seguimiento de sus deudas y envía recordatorios a usted y a los deudores por Telegram y SMS. Idioma: Español, Inglés, Ruso, Italiano (visto en @BotsGram_cu) #friend, #money, #track, #debt, #send, #receive, #issue, #website, #request