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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #fish

当前筛选 #fish清除筛选

Hey Skill Labs community, have you already played our fishing game on Discord?🐠🧩 👉 Join our Discord NOW: https://discord.com/invite/skilllabs 👉 Go to the channel called: #fish (in the offtop section) and see the rules in a pinned message 👉 We are currently hosting tournaments!

Hashtags

TonOrbital

@tonorbital · Post #243 · 25.06.2024 г., 18:01

🎉 Exciting News from #FISH! 🎉 Minting for @RetardinoTON gamepass NFTs is now live! 💫 In the upcoming patch, players can also purchase amazing cosmetic items associated with RetarDino partners. 📈 As a bonus, 50% of the profit will go towards the buyback and burn of #FISH tokens. 🎮 Don't miss out—owning an NFT is your exclusive gateway to play and earn $WFOSS. Let the adventure begin!

Hashtags

Beneficial Fishing - You Got 10 BUSD 🤑 Do you remember that Skill Labs launched a Fishing game on Discord? 🔝 We summarized the first results and decided to give 10 BUSD for TOP-5 on the list 🪝 From now, Skill Labs announcing a small tournament for everyone, you play - you earn 👉 Join our Discord and play: https://discord.gg/skilllabs 👉 Go to the channel named: #fish (the offtop section) The results will be published on May 13th 🚀 🐡🐠🐟

Hashtags

Play in Discord and get rewards 🕹 Hey Skill Guilders, let's play the fishing game using our Discord bot 🦈 👉 Join our Discord: https://discord.gg/skillguilds 👉 Go to the channel called: #fish (the offtop section) 👉 There you will see a pinned message with rules and a tutorial on how to play 🧩 Play the game and complete daily quests using the command: %quests Very soon we will launch a tournament among our community, be ready and train yourself 💪 Join now: https://discord.gg/skillguilds

Hashtags

ПредишнаСтр. 1 от 5Следваща