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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #idv

当前筛选 #idv清除筛选
Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39480 · 16.05.2022 г., 10:42

#Italia#Abruzzo#LAquila Ufficializzate le liste per le elezioni comunali all'Aquila 🔵 Pierluigi #Biondi (#FdI) 📌 L'Aquila Futura 📌 L'Aquila al Centro (#NcI-#PRI-#IaC) 📌 Civici e indipendenti per Biondi 📌#FdI Meloni per Biondi Sindaco 📌#FI 📌#Lega Salvini Abruzzo 🔶 Stefania #Pezzopane (#PD) 📌 99 L'Aquila (#IdV-#EV-#PSI) 📌#PD 📌#Demos 📌 L'Aquila Coraggiosa (#A1MDP-#SI-#PRC) 📌 L'Aquila Nostra (#IV) 📌#M5S ⚪ Americo #DiBenedetto 📌 L'Aquila e Frazioni 📌 L'Aquila Viva e Forte (#Azione-#PiùE) 📌 Il Passo Possibile ⚪ Simona #Volpe 📌 Liber Aquila @UltimoraPolitics

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39979 · 13.06.2022 г., 09:17

#Elezioni#Italia#Amministrative Composizione dei gruppi consiliari o affiliazione di consiglieri a partiti nei comuni capoluogo al voto: #PD|S&D: 111 #Lega|ID: 106 #FdI|ECR: 101 #FI|EPP: 71 #M5S|NI: 39 #IiC|Centrosinistra: 22 #Cambiamo|Centrodestra: 16 #IV|RE: 15 #Azione|RE: 11 #UdC|EPP: 8 #Coraggio|Centrodestra: 5 #Fare|Centro-destra federalista: 5 #NcI|Centro: 5 #RS|Centro Sardo: 4 #PRC|LEFT: 4 #PSI|S&D: 4 #AP|EPP: 3 #OraSicilia|Centro siciliano: 3 #Ssk|G/EFA: 2 #ItalExit|Euroscettici: 2 #AT6|Estrema Destra Meridionalista: 2 #CPI|Estrema destra: 2 #ConEmiliano: 2 #SI|LEFT: 2 #Moderati|Centro: 1 #A1MDP|S&D: 1 #IdV|Centro populista: 1 #Possibile|Centro-sinistra: 1 #RI|RE: 1 #PsdAz|Centrodestra sardo: 1 #PiùE|RE: 1 #EV|G/EFA: 1 #BuonaDestra|Centrodestra: 1 @UltimoraPolitics24