-{Don't repeat yourself (DRY)}- је принцип у развоју софтвера који има за циљ смањење дупликата софтверских производа, замењујући их апстракцијама или коришћењем нормализације података.
Принцип -{DRY}- наводи да „свако знање мора имати јединствевну, недвосмислену, ауторитативну заступљеност у систему”. Принцип су формулисали Енди Хант и Дејв Томас у њиховој књизи Прагматични програмер..Они га нашироко примењују тако што укључе „шеме база података, планове испитивања, билдовање система, па чак и документацију”. Успрешном применом овог принципа, модификација било ког елемента система неће утицати на неки други логички не повезан елемент. Међутим, елементи који су повезани се предвидиво и једнолично мењају, па се на тај начин синхронизују. Поред тога што користе методе и подрутине у свом коду, Енди Хант и Дејв Томас се ослањају на генераторе кода , системе аутоматске израде и скриптне језике како би поштовали принцип -{DRY}- у више слојева.
-{DRY}- и -{WET}- решења Кршења принципа -{DRY}- се обично називају -{WET}- решења, која се могу описати као „пишите сваки пут (енг. -{write every time}-)”, „напишите све два пута (енг. -{write everything twice}-)”, „уживамо у куцању (енг. -{we enjoy typing}-)”. -{WET}- решења су честа у вишеслојним архитектурама где програмер може имати задатак, на пример, додавање поља за коментар на форму у веб апликацији. Текстуални коментар може бити поновљен у табели, -{HTML}- тагу, у називу функције за читање, приватној променљивој, -{DDL}- баѕи података, упитима. -{DRY}- приступ елиминише ту сувишност користећи оквире који уклањају или смањују све оне захтеве за променама осим оних најважнијих, остављајући слободну могућност додавања ноих променљивих знања на једном месту.
Види још Докниске Објекти прве класе
Референце
Додатна литература
Спољашње везе -{97 Things Every Programmer Should Know (O'Reilly)}- -{The myth of over-normalization (discussion of academic extremes vs. real-world database scenarios)}-
Категорија:Инжењеринг софтвера