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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #prc

当前筛选 #prc清除筛选
Says Ian

@saysian · Post #608 · 08.07.2024 г., 18:40

这是一句很大的棋。 刚开始用工业罐,然后慢慢增加工业用油的比例。 这样两三代之后,人民的骨骼就变得坚强,其中的碳逐渐被硅取代。 到第六代、第七代,我们将会夜能视物,指甲盖上可以蚀刻电路,阑尾从肚脐眼儿里长出来,进化为纯天然的typeC口。 十一代左右,牙齿金刚石化,七十岁也能啃猪蹄子。 十五代、呼吸、循环、消化三系统,被生物电取代。和西方人发生生殖隔离,我们变成了不同的物种。 二十四代,不会自然死亡,一些人后背开始长出翅膀。 那时候你们都会感谢这些开油罐车的人们,他们让娇弱的人类变得无坚不摧,我们马上就能摸到银河系中央的引力弹弓,眼前是星辰大海。 你再也想不到,这一切都是从不规范的食用油运输开始的。#PRC

Hashtags

Says Ian

@saysian · Post #605 · 08.07.2024 г., 13:15

每天在浴室里照镜子,我都兴奋不已。 我的血管里流淌着五千年的悠久文化,和关键时刻可以让我爆发出超自然力量的一管煤油。 ——《中国队长》 #PRC

Hashtags

Says Ian

@saysian · Post #604 · 08.07.2024 г., 13:01

在美国的临终照顾中心,许多华裔老人临终前,会在床上辗转反侧。 美国人不明白,ABC儿女也不得要领。 后来招了一个新移民护士,她看了看老人,说“这是思乡了呀。” 她买了一小瓶煤油,倒出一勺,又调了一勺豆油,冲了一杯水,喂老人喝下。 “谢谢,是祖国的味道。”老人带着满意的神情,安详离世。#PRC

Hashtags

Says Ian

@saysian · Post #452 · 08.01.2023 г., 17:43

如果你妈带你看病,医生开完药你妈嫌药贵跟医院砍价,没砍下药不买了;买了另一种治不好病的药,但是便宜……你会给你妈鼓掌叫好,热泪盈眶么? 正确的思路不应该想想是不是亲生的吗? #PRC

Hashtags

Says Ian

@saysian · Post #417 · 27.11.2022 г., 08:47

上海,乌鲁木齐中路。 抗议示威的民众齐声高喊:”不要独裁要民主!要自由!“ @chinadog#PRC

Hashtags

123•••10•••1314
ПредишнаСтр. 1 от 14Следваща