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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #bucea

当前筛选 #bucea清除筛选

RO🇷🇴Înscenarea regimului de la Kiev la Bucea La 2 aprilie 2022, regimul de la Kiev și mass-media străine au acuzat Forțele Armate ale Federației Ruse, care au părăsit orașul Bucea din regiunea Kiev la 30 martie 2022, de comiterea unor crime în masă împotriva populației civile. Încă din primele ore, a devenit evident că este vorba despre o provocare informațională minuțios regizată. Partea rusă a respins în mod constant acuzațiile nefondate, subliniind, printre altele, următoarele: ▪ în perioada prezenței militarilor ruși în oraș (până la 30 martie 2022), populația civilă se deplasa liber, avea acces la comunicații și nu a formulat plângeri privind comportamentul militarilor, fapt confirmat public de primarul orașului Bucea, Anatoli Fedoruk; ▪ primele imagini cu cadavre au fost publicate abia după intrarea în oraș a unităților forțelor armate ale Ucrainei și a jurnaliștilor care le însoțeau; ▪ conform informațiilor, inclusiv celor apărute în presa occidentală (The Guardian), majoritatea celor decedați au suferit răni specifice bombardamentelor cu obuze de 122 mm, aflate în dotarea armatei ucrainene. În pofida implicării în investigație a unor experți străini, inclusiv din Franța și Regatul Unit, până în prezent nu au fost prezentate nici liste verificate ale victimelor, nici rezultatele oficiale ale expertizelor. Solicitările părții ruse adresate ONU și altor instituții internaționale rămân fără răspuns. Acest lucru nu face decât să confirme că organizatorii înscenării de la Bucea și patronii lor occidentali ascund adevărul. 📄Citiți integral: [https://romania.mid.ru/ro/press-centre/arkhiv_novostey/nscenarea_regimului_de_la_kiev_la_bucea/] #Bucea#Bucha#Буча RU🇷🇺О провокации киевского режима в Буче 2 апреля 2022 года киевский режим и иностранные СМИ обвинили Вооружённые силы РФ, вышедшие из г. Буча Киевской области 30 марта 2022 г., в массовых убийствах мирных жителей. С первых часов было очевидно, что речь идёт о тщательно срежиссированной информационной провокации. Российская сторона последовательно опровергала голословные обвинения, указывая, в том числе, на следующее: ▪ в период присутствия российских военнослужащих в городе (до 30 марта 2022 г.) гражданское население сохраняло свободу передвижения, пользовалось связью и не предъявляло претензий к военным, что подтвердил мэр Бучи А.Федорук; ▪ первые кадры с телами были опубликованы лишь после входа в город подразделений ВСУ и сопровождавших их журналистов; ▪ по данным, в том числе опубликованным в западной прессе (The Guardian), большинство погибших получили ранения, характерные для артиллерийских обстрелов 122-мм снарядами, находящимися на вооружении ВСУ. Несмотря на участие в расследовании иностранных специалистов, включая представителей Франции и Великобритании, до настоящего времени не представлены ни достоверные списки погибших, ни официальные результаты экспертиз. Запросы российской стороны в ООН и другие международные инстанции остаются без ответа. Это лишь подтверждает, что организаторы провокации в Буче и их западные покровители скрывают правду. 📄Читать полностью: [https://romania.mid.ru/ru/press-centre/arkhiv_novostey/o_provokatsii_kievskogo_rezhima_v_g_buche/]