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

З пляцоўкі Вікіпедыя
Jump to navigation Jump to search

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].

Зноскі

  1. Джереми Миллер. The Don’t Repeat Yourself Principle and the Wormhole Anti-Pattern (англ.)  (22 марта 2007). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012 года.(англ.)  (22 марта 2007). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012 года.
  2. Дэйв Томас (интервью провёл Билл Веннерс). Orthogonality and the DRY Principle (англ.)  (10 октября 2003). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012.(англ.)  (10 октября 2003). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012.
  3. DRY--Don't Repeat Yourself (англ.) . About.com. Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012 года.(англ.) . About.com. Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 23 августа 2012 года.
  4. Sam Ruby, Dave Thomas. (2011). Agile Web Development with Rails. Pragmatic Programmers, LLC.. p. 17. 
  5. Алекс Пападимулис. The WET Cart (англ.)  (12 августа 2011). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 21 мая 2012 года.(англ.)  (12 августа 2011). Архівавана з першакрыніцы 29 кастрычніка 2012. Праверана 21 мая 2012 года.