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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #sitcom

当前筛选 #sitcom清除筛选

《成长的烦恼》1-7季 超高分稀有老剧‎ (1985-1991) ◎年 代 1985 ◎产 地 美国 ◎类 别 喜剧 / 家庭 ◎豆瓣评星 ★★★★★ ◎豆瓣评分 9.6/10 from 5,222,214,439 users ◎标 签 #Sitcom | #美剧 | #成长的烦恼 | #经典 | #喜剧 | #美国 | #成长 | #电视剧 ◎简 介 美国纽约长岛住着这样一家人。父亲杰森•西弗(艾伦•锡克饰)是一位心理医生。为了支持妻子玛姬•马龙•西弗(乔安娜•柯恩斯饰)重新回到记者的工作岗位,杰森毅然决定将心理诊所搬到自己的家里 ⬇️ 下载/分享链接: https://www.aliyundrive.com/s/qaCtV4Azfq7

《宋飞正传》1-9季 多年高分 经典喜剧(1990-1997) ◎年 代 1990 ◎产 地 美国 ◎类 别 喜剧 ◎豆瓣评星 ★★★★✦ ◎豆瓣评分 8.5/10 from 6,936 users ◎标 签 #宋飞正传#美剧 | #喜剧 | #情景喜剧 | #seinfeld | #电视剧 | #sitcom | #看过的电视剧 ◎简 介 本剧集被评为“21世纪最伟大的剧集”,由Jerry Seinfeld和Larry David共同创意,1989年至1998年在NBC播出,总共180集。《宋飞正传》以纽约为背景,主要人物包括由Jerry Seinfeld本人饰演的喜剧演员“宋飞”Seinfeld、他的多年老友George(杰森·亚历山大 Jason Alexander 饰)、以及前女友Elaine(茱莉亚·路易斯-德瑞弗斯 Julia Louis-Dreyfus 饰)和对门邻居Kramer(迈克尔·理查兹 Michael Richards 饰) ⬇️ 下载/分享链接: https://www.aliyundrive.com/s/HRedZjmvBqv

Desi Memes Funny Jokes

@desi_memes_funny_jokes · Post #5346 · 30.09.2024 г., 12:40

After me and my sister's fight #cartoon#family#comedy#television#sitcom#animation#hindimemes#cartoon#memes#communitylove#connectwithcommunity#humor#sisterlove#fathersday#fatherdaughter

Desi Memes Funny Jokes

@desi_memes_funny_jokes · Post #4970 · 07.07.2024 г., 09:46

After me and my sister's fight #cartoon#family#comedy#television#sitcom#animation#hindimemes#cartoon#memes#communitylove#connectwithcommunity#humor#sisterlove#fathersday#fatherdaughter