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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #gp

当前筛选 #gp清除筛选

中文名: 哥普拉 话数: 31 放送开始: 1982年10月7日 原作: 寺沢武一 导演: 竹内啓雄、出﨑統 脚本: 寺田憲史、山崎晴哉 ☺️评分:7.4 推荐 🟢故事简介 故事讲述左手装载精神感应枪的宇宙海贼哥普拉的冒险,他为了逃避敌人追捕而整形并消除自己的记忆,试图过正常的生活,但之后因故恢复记忆,并与他的伙伴理美重逢,共同对抗敌人。寺泽在作品混合了意大利多种元素,包括日本武士、意大利式西部片、詹姆斯·邦德和迪士尼等。 🌐OneDrive:点击下载 🗂百度网盘:点击下载 📁往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#G#GP 标签:#科幻#漫改

SweetShare Channel

@SweetShareChannel · Post #484 · 05.05.2023 г., 11:39

//SweetShare共享请求: 平台:#GP+ #GaragePlay+ 价格:55RMB/12个月/人 备注:台湾小众影视流媒体,需台湾IP,四人车缺两人,有“Netflix看不到”的内容和“Netflix还是看不到”的内容以及一些质量尚佳的小众电影。 车牌:闽F1ZDGE 上车请联系:@SweetTicketsBot

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