DRY (праграмаванне)

Don’t repeat yourself, DRY () — гэта прынцып распрацоўкі праграмнага забеспячэння, накіраваны на скарачэнне рознага роду дубліравання, напрыклад дубліраванне праграмнага кода або дубліраванне адных і тых жа даных у розных частках сістэмы. Прынцып DRY фармулюецца як: «Кожны фрагмент ведаў павінен мець адзінае, адназначнае, аўтарытэтнае прадстаўленне ў сістэме».(англ.)  (22 марта 2007).  з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012 года. Ён быў сфармуляваны Эндзі Хантам і Дэйвам Томасам у іх кнізе The Pragmatic Programmer. Яны ўжываюць яго ў даволі шырокім сэнсе і прымяняюць да схем баз даных, планаў тэставання, сістэм зборкі і нават дакументацыі.(англ.)  (10 октября 2003).  з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012. Пры правільнай рэалізацыі прынцыпу DRY, мадыфікацыя любога асобнага элемента сістэмы не патрабуе змены іншых лагічна не звязаных паміж сабой элементаў. Пры гэтым усе элементы, якія лагічна звязаны, змяняюцца прадказальна і аднастайна і, такім чынам, застаюцца сінхранізаванымі. Каб прынцып DRY выконваўся на ўсіх узроўнях сістэмы, Томас і Хант, акрамя метадаў і функцый у кодзе, таксама выкарыстоўваюць генератары кода, сістэмы аўтаматычнай зборкі і мовы сцэнарыяў.

 Ужыванне прынцыпу DRY 
Прынцып DRY, вядомы таксама як Single Source of Truth (), пераважае ў сістэмах з архітэктурай на аснове мадэляў, у якіх артэфакты праграмы здабываюцца з галоўнай мадэлі аб'екта і выяўляюцца ў такой форме, як UML. Код, напісаны па прынцыпу DRY, ствараецца з дапамогай канвертацыі даных і генератараў кода, якія дазваляюць распрацоўшчыкам ПЗ пазбегнуць аперацый выразання, капіравання і ўстаўкі. Звычайна код, напісаны па гэтаму прынцыпу, дазваляе лягчэй кіраваць вялікімі інфармацыйнымі сістэмамі. Такія інструменты, як XDoclet і XSLT з'яўляюцца прыкладамі тэхнік праграмавання DRY. Прыкладамі сістэм, якія патрабуюць дубліраванні інфармацыі, з'яўляецца Enterprise Java Beans версіі 2, якая патрабуе не толькі дубліравання ў кодзе Java, але і ў файлах канфігурацыі.

Прыкладамі сістэм, у якіх зроблена спроба ліквідаваць дубліраванне інфармацыі, з'яўляюцца фрэймворкі Symfony, web2py, Yii, Django, Ruby on Rails(англ.) .  About.com.  з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012 года., Phalcon, а таксама асяроддзі распрацоўкі Visual Studio LightSwitch і Enterprise Java Beans версіі 3.

 DRY і WET 
Парушэнні прынцыпу DRY называюць WET — «Write Everything Twice» () ці «We enjoy typing» (). Гэта гульня англійскіх слоў «dry» () і «wet» ()(англ.)  (12 августа 2011).  з першакрыніцы 29 кастрычніка 2012. Праверана 21 мая 2012 года..

 Гл. таксама 
 GRASP
 KISS

 Крыніцы 

Катэгорыя:Распрацоўка праграмнага забеспячэння
Катэгорыя:Аб’ектна-арыентаванае праграмаванне
Катэгорыя:Праектаванне праграмнага забеспячэння
Катэгорыя:Прынцыпы праграмавання