DRY (праграмаванне)
Don’t repeat yourself, DRY (бел.: не паўтарайся) — гэты прынцып распрацоўкі праграмнага забяспечвання, нацэлены на зніжэнне паўтору інфармацыі розных роду, асабліва ў сістэмах з мноствам слаёў абстрагавання. Прынцып DRY фармулюецца як: «Кожная частка ведання павінна иметь адзінае, несупярэчнае і аўтарытэтнае прадстаўленне ў рамках сістэмы».[1] Ён быў сфармуляваны Эндзі Хантам і Дэйвам Томасам у іх кнізе The Pragmatic Programmer. Яны ўжывалі гэты прынцып да «схем баз даных, планам тэсціравання, сборкам праграмнага забяспечвання, нават да дакументацыі».[2] Калі прынцып DRY ужываецца паспяхова, змяненне адзінага элемента сістэмы не патрабуе занясенні змяненняў у іншыя, лагічна не связанные элементы. Тыя элементы, якія лагічныя связаны, змяняюцца прадказальна і аднастайна. Акрамя выкарыстання метадаў і функцый у кодзе, Томас і Хант лічаць неабходным выкарыстанне генератараў кода, аўтаматычных сістэм кампіляцыі.
Ужыванне прынцыпу DRY[правіць | правіць зыходнік]
Прынцып DRY, вядомы таксама як Single Source of Truth, пераважае ў сістэмах з кіраванай мадэлямі архітэктурай, у якіх артэфакты праграмы здабываюцца з галоўнай мадэлі аб'екта і выяўляюцца ў такой форме, як UML. Код, напісаны па прынцыпу DRY, ствараецца з дапамогай канвертацыі даных і генератараў кода, якія дазваляюць распрацоўніку ПЗ пазбегнуць аперацый выразання, капіравання і ўстаўкі. Звычайна код, напісаны па гэтым прынцыпу, дазваляе лягчэй кіраваць вялікімі інфармацыйнымі сістэмамі. Такія інструменты, як XDoclet і XSLT з'яўляюцца прыкладамі тэхнік праграмавання DRY. Прыкладамі сістэм, якія патрабуюць дубліраванні інфармацыі, з'яўляецца Enterprise Java Beans версіі 2, якая патрабуе не толькі дубліравання ў кодзе Java, але і ў файлах канфігурацыі.
Прыкладамі сістэм, у якіх зроблена спроба ліквідаваць дубліраванне інфармацыі, з'яўляюцца фрэймворкі Symfony, web2py, Yii, Django, Ruby on Rails[3][4], Phalcon, а таксама асяроддзі распрацоўкі Visual Studio LightSwitch і Enterprise Java Beans версіі 3.
DRY і WET[правіць | правіць зыходнік]
Парушэнні прынцыпу DRY называюць WET — «Write Everything Twice» (бел.: Пішы ўсё па два раза) ці «We enjoy typing» (Нам падабаецца друкаваць). Гэтая гульня англійскіх слоў «dry» (бел.: сухі) і «wet» (вільготны)[5].
Зноскі
- ↑ Джереми Миллер. The Don’t Repeat Yourself Principle and the Wormhole Anti-Pattern (англ.) (22 марта 2007). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012 года.(англ.) (22 марта 2007). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012 года.
- ↑ Дэйв Томас (интервью провёл Билл Веннерс). Orthogonality and the DRY Principle (англ.) (10 октября 2003). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012.(англ.) (10 октября 2003). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012.
- ↑ DRY--Don't Repeat Yourself (англ.) . About.com. Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012 года.(англ.) . About.com. Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012 года.
- ↑ Sam Ruby, Dave Thomas. (2011). Agile Web Development with Rails. Pragmatic Programmers, LLC.. p. 17.
- ↑ Алекс Пападимулис. The WET Cart (англ.) (12 августа 2011). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 21 мая 2012 года.(англ.) (12 августа 2011). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 21 мая 2012 года.