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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #lemon

当前筛选 #lemon清除筛选
互联E栈

@bcd8888 · Post #1546 · 07.08.2025 г., 13:25

#直播#开源#聚合直播 #Lemon Live 一站式直播聚合平台,实时整合斗鱼、虎牙、抖音、哔哩哔哩等平台直播,支持搜索和弹幕功能,清晰度非常不错,支持原画质量,需要多个平台看直播的可以体验一下,完全免费,无需注册,打开即看。 🔘网址: 点击打开 🔊频道 |💬群组 |🎁福利 |📍导航

小小溪部落

@tribebrook · Post #469 · 04.10.2025 г., 15:47

#Mac#清理#GitHub#CleanMyMac#Lemon 🦡 像鼹鼠一样深入挖掘来清理您的 Mac 一;亮点 🐦深度系统清理- 一次性删除隐藏的缓存、日志和临时文件 📦彻底卸载- 清理了 22 个以上位置,而标准卸载只有 1 个,优于 CleanMyMac/Lemon ⚡️快速且轻量- 基于终端,零膨胀,带分页的箭头键导航 🧹海量空间恢复- 回收 100GB 以上的浪费磁盘空间 二;安装 curl -fsSL curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash 或者通过 Homebrew: brew install tw93/tap/mole GitHub地址:官方 🔔提示:限免,兑换码具有时效性,打开本频道通知,第一时间获取全网资讯!!! 🏠本消息Via:小小溪 📰群组:homeBrook 📢频道:Home_brook 🤖其他问题(投稿)请Bot:@xia0_bot

🔴 Аниме/Манга: лимонные девочки >> lemon girls 🎧 Музыка/Песня: ну вам оно не нужно 🔥#Аниме / #Эдит / #Манга / #лимонныедевочки / #lemon / #lemonsgirl / #Manga / #Anime / #Edith

🔴 Аниме/Манга: лимонные девочки >> lemon girls 🎧 Музыка/Песня: ну вам оно не нужно 🔥#Аниме / #Эдит / #Манга / #лимонныедевочки / #lemon / #lemonsgirl / #Manga / #Anime / #Edith

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