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

TGINSIGHT SIMILAR POSTS

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

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

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

Hashtags

Резултати

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

Търсене: #neodream3d

当前筛选 #neodream3d清除筛选
3D-Hmangaupload

@hmangafor3duploadtest · Post #21038 · 15.01.2025 г., 15:56

#DOA维纳斯海岛#ElfSoul精魂之灵番外篇#HA`Risen #HERO#Home_Invasion#HUNT#HUNT捕猎#Invaders#JellyBelly#JK退魔部#JK系列#K9大冒险#KaraokeHentaiCallGirl#KILLE#KILLER#KOF#Lote_2024整合AIGenerated#LustFlight#masquerade#Mongson#MONSTER_EATER#murder#NeoDream3D#NTR#NTR人妻寝取观察日记#NTR人妻系列#Our_Promise#Purple_Reign#RE调查#RE调查队#s_Last_Mission#SeTuさん#SK#SK-01 #Sleeping_Beauty#SleepingBeauty#SM女王様#Super月侦探管#Taimanin#ThornyThursdayEP1#TwistedEllie#V刊VM#VM_12伊冷娜#VM09黑煞#VM4-封面女郎_林雅妮 #Y御姐#ヨーグル本舗

3D-Hmangaupload

@hmangafor3duploadtest · Post #21024 · 15.01.2025 г., 15:52

#Mibo_重生篇#Milf#Milf_Mansion_01-02 #MILNII#Mimic_Trap_11#Mind_Transfer_1-6 #minoru#Mom#momi_oji#Monster_Ball_1-4 #Monster_Eater_-_Part_1 #Monster_Eater_-_Part_2 #Monster_Eater_-_Part_3 #Monster_Eater_-_Part_3_The_Girl_Eater #Monster_Eater_Origin_-_Prologue #Monster_Eater_Origin_1#Monster_Eater_Origin_2#Monster_Eater_Origin_2_Karen#Monster_Eater_Origin_3#Monster_Eater_Origin1+2 #Monster_rape#Monster_Sex_Trilogy#Motel#Mother_–_Desire_Forbidden_01-07_END #Mr_Wong_Spa_Resort_2#Mr.Foxx #Mr.R #Ms_I#Ms_ping#Ms._I #Mudus#My_mother#Nagisa#Naifu#Nameless_Peasant#nanomo#Naruto#Nature_of_Nurture_Chapter_One_1-2 #Naura_-_Magic_Crystal #Naura_-_The_Strange_Place #Nelesie#NeoDream3D#neoniez#Nevertired#New_Man_of_the_House_1-2 #New_Man_of_the_House_3-4 #New_Man_of_the_House_5#Nico#Nightmare_disorder_00-02.2 #NLT_Media#nomalman#nothingmore3d#Nox#NTR_FALLEN_IDOL_MOM#NTR教师_1-2 #NTR模拟器#NTR人妻寝取01-22+番外篇X2 #NTR蘇利亞學姐#NTR中毒患者#Numbersguy_part.1 #Numbersguy_part.2 #Octo_Monster#Office_Hour#Oh_No,_It #Old_Mack_&_the_Lovely_Bridget_1-2 #OLエルフ拉致レイプ#omasomas#OMG#One_Hot_Mess#One_Million_Years_A.D._1 #One_Shot_1-4 #One_shot_1\xa0\xa0 #One_shot_2\xa0\xa0 #One_shot_3\xa0\xa0 #One_shot_4\xa0\xa0 #ooo895623#Orc_House#Orcs#Oreo#Outlaw_+_Fiora_Glam #outofcontro#Outplayed#P站凌小東#panini#Pantsushi#Paradise_1#Parasite_in_City_-_Part_1 #Parasite_in_City_-_Part_2 #Part_1_⁄_6 #Part_2_⁄_6 #Part_3_⁄_6 #Part_3_Final#Part_4_⁄_6 #Part_5_⁄_6 #Part_6_⁄_6 #PashPash#Paycheck_Punishment_Program#Pegasus_Smit#Pegasus_Smith#Pent_Up#Perfect_Female_1-2 #PervertMuffinMajima#phloxcc#Photographic_Record_of_Raped_Mari#Pig_King#PISANTO_皮三豆#pixiv#Pixiv#PIXIV#pixiv:Gou #polaris#Pool_Dolls#Princess_&_5_Goblins_1 #Princess_&_5_Goblins_3 #Princess_Duty#Princess_in_Trouble#Princess&5Goblins_2 #Private_Casting_with_Erin#Private_Dick_1-3 #Private_Dick\xa0\xa01-3 #Prove_Thy_Self_1-2 #R-18 #ragon_III" #Random_shot#Rape_Night#Re:從零開始的NTR生活_1 #Re:從零開始的NTR生活_2 #Re.MαiΚΛ #RE調查隊_0-3 #Rendezvous#Rental_Body#Rental_Body_Complete#Resident_Evil\xa0\xa0雜圖 #Revenge_of_a_neglected_wife#Rex#RINRINRIN#Rise_Of_The_Guardians_1-3 #Rose_In_The_Hood_1-2 #Roy_jun#ryooo#ryota_tanaka#s_1-7" #s_A_Monster" #s_Adventure_-_Encounter" #s_Affair_Part_1#s_Apology#s_Bad_Ending(无码、有水印)" #s_Boyfriend_1-2" #s_Boyfriend_3" #s_Bride_1-2 #s_Control_1.0C-CG" #s_Dad#s_Demise" #s_Dilema" #s_Fate" #s_First_Sin#s_Freaky_Encounters_-_Night_Shift_Nurse" #s_Freaky_Encounters_-_The_Attic_of_Lust" #s_hostess_is_NINA" #s_Initiation" #s_Jill_Valentine" #s_Needs#s_Nightmare" #s_No_Nut\xa0\xa0November #s_Pleasure" #s_Revenge" #s_Skin_Ch._1 #s_story_chapter_1_all" #s_story_chapter_2._Part_1-5" #s_story_chapter_2._Part_1" #s_story_chapter_2._Part_2" #s_story_chapter_2._Part_3" #s_story_chapter_2._Part_4" #s_story_chapter_2._Part_5" #s_Summer_Break_1-3

Hashtags

#mibo_重生篇#milf#milf_mansion_01#milnii#mimic_trap_11#mind_transfer_1#minoru#mom#momi_oji#monster_ball_1#monster_eater_#monster_eater_origin_#monster_eater_origin_1#monster_eater_origin_2#monster_eater_origin_2_karen#monster_eater_origin_3#monster_eater_origin1#monster_rape#monster_sex_trilogy#motel#mother_#mr_wong_spa_resort_2#mr#ms_i#ms_ping#ms#mudus#my_mother#nagisa#naifu#nameless_peasant#nanomo#naruto#nature_of_nurture_chapter_one_1#naura_#nelesie#neodream3d#neoniez#nevertired#new_man_of_the_house_1#new_man_of_the_house_3#new_man_of_the_house_5#nico#nightmare_disorder_00#nlt_media#nomalman#nothingmore3d#nox#ntr_fallen_idol_mom#ntr教师_1#ntr模拟器#ntr人妻寝取01#ntr蘇利亞學姐#ntr中毒患者#numbersguy_part#octo_monster#office_hour#oh_no#old_mack_#olエルフ拉致レイプ#omasomas#omg#one_hot_mess#one_million_years_a#one_shot_1#one_shot_2#one_shot_3#one_shot_4#ooo895623#orc_house#orcs#oreo#outlaw_#outofcontro#outplayed#p站凌小東#panini#pantsushi#paradise_1#parasite_in_city_#part_1_#part_2_#part_3_#part_3_final#part_4_#part_5_#part_6_#pashpash#paycheck_punishment_program#pegasus_smit#pegasus_smith#pent_up#perfect_female_1#pervertmuffinmajima#phloxcc#photographic_record_of_raped_mari#pig_king#pisanto_皮三豆#pixiv#polaris#pool_dolls#princess_#princess_duty#princess_in_trouble#princess#private_casting_with_erin#private_dick_1#private_dick#prove_thy_self_1#r#ragon_iii#random_shot#rape_night#re#re調查隊_0#rendezvous#rental_body#rental_body_complete#resident_evil#revenge_of_a_neglected_wife#rex#rinrinrin#rise_of_the_guardians_1#rose_in_the_hood_1#roy_jun#ryooo#ryota_tanaka#s_1#s_a_monster#s_adventure_#s_affair_part_1#s_apology#s_bad_ending#s_boyfriend_1#s_boyfriend_3#s_bride_1#s_control_1#s_dad#s_demise#s_dilema#s_fate#s_first_sin#s_freaky_encounters_#s_hostess_is_nina#s_initiation#s_jill_valentine#s_needs#s_nightmare#s_no_nut#s_pleasure#s_revenge#s_skin_ch#s_story_chapter_1_all#s_story_chapter_2#s_summer_break_1