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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #3c

当前筛选 #3c清除筛选

💎 3C一体工具箱 Pro 安卓调谐器v3.1.2c专业版 30 ♻️资源介绍:3C All-in-One Toolbox将许多功能集成到一个巨大的工具箱中,并具有现代且易于使用的界面 ⬇️本地下载| 🔵网站下载 🔔标签:#安卓软件#3C#一体#工具箱#调谐器

⭐️【资源名称】: 3C Task Manager Pro 3C任务管理器 🤖【适用平台】: #Andoid 🔄【应用版本】: 3.9.4 🔩【应用大小】:18MB 🧱【资源介绍】 PiliPlus 3C Task Manager Pro「3C 任务管理器」一款适合日常使用的简单任务管理器。高度可配置,但功能简单的任务管理 🟢专业版 🟡在线下载:点击下载 📁#安卓软件#3C#Task#Manager#任务管理器

Telegram 公眾索引頻道

@TG_index_channel · Post #841 · 12.02.2020 г., 03:47

標題:吳大妮 類別:#公開#頻道#繁中 分類:#臺灣#網誌#旅遊 標籤:#美食#台灣旅遊#3C#資訊 簡介:用詼諧幽默記錄生活大小事,記錄著台灣各景點和地美食。還有日本、韓國、泰國、新加坡、馬來西亞、香港、澳門遊記。 網址: wudani.com 聯絡我 [email protected] IG : wudani618

Telegram 公眾索引頻道

@TG_index_channel · Post #1335 · 13.08.2020 г., 11:18

標題:山姆大豬戀肖話 類別:#公開#頻道#繁中 分類:#臺灣#網誌#科技#生活#旅遊#中文圈 標籤:#3C#美食#旅行 簡介:歡迎訂閱『山姆大豬戀肖話』的Telegram頻道 ▹分享3C資訊、旅遊秘境、美食 ▹美好事物值得用生命去浪費的生活筆記 ▹https://t.me/UncleSamPig

Telegram 公眾索引頻道

@TG_index_channel · Post #1146 · 27.03.2020 г., 14:54

標題:縮網址 EasyURL Bot 類別:#公開#機器人#繁中 分類:#程式#科技#其它 標籤:#縮短網址#縮網址#資訊#3C 簡介:使用方法:貼上一段網址,系統會回傳縮短後的網址。 (支援 Inline Mode) 目前支援的縮網址類型: - tinyurl.com Open source: https://gitlab.com/weikeup/easyurlbot

Telegram 公眾索引頻道

@TG_index_channel · Post #885 · 15.02.2020 г., 10:20

標題:8cat Tech 科技生活群 類別:#公開#群組#繁中 分類:#閒聊#科技#中文圈 標籤:#手機#電腦#PC#Android#3C#家電#Apple 簡介:聊科技上 8cat,不管是手機、電腦還是家電都歡迎,遇到電子產品的問題了,還是換3C產品沒點子,先來和大家交流吧。

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