Pagini

2012-11-30

Design patterns - in romana

Vreau sa incep aceasta serie de articole despre design patterns mai mult pentru a-mi sedimenta cunostintele, gen am citit despre acest subiect si rezum ideile aici ca se mi le clarific.


Ce sunt si ce-i cu ele

Design patterns - sa le zicem modele de proiectare si sa le prescurtam DP - sunt solutii generice de programare ale anumitor probleme care sunt intalnite destul de des in domeniul dezvoltarii de software. Sunt sabloane care descriu in linii mari cum se pot rezolva problemele respective. O parte din ele au fost descrise impreuna pentru prima oara in cartea "Design Patterns: Elements of Reusable Object-Oriented Software" scrisa de asa-numita Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson si John Vlissides. De obicei e referita ca "GoF book".


In general sunt legate de programarea obiect-orientata - OOP. Cred ca cel mai mult le-am auzit folosite in limbajele Java si C#, dar exista si variante in alte limbaje de programare. De asemenea, exista limbaje in care DP-urile nu sunt folosite, pentru ca nu sunt necesare.

E bine sa folosesti DP-uri pentru ca sunt solutii testate si te pot scuti de eventuale probleme ulterioare provocate de scapari in proiectare. Ajuta si la comunicare, una e sa spui foarte explicit ce ai facut si alta sa spui ca ai aplicat un anumit design pattern. Sunt solutii la pachet, poti sa le pui in proiect, le cuplezi cu logica existenta si ai terminat.

E rau sa folosesti DP atunci cand o faci gresit, poti sa complici inutil proiectul pe chestia asta; uneori e posibil sa fie daunatoarea introducerea unei asemenea noi abstractiuni in cod.


Clasificare

  • de creatie: design pattern-uri care sunt destinate crearii de obiecte noi
  • de structura: se refera la compunerea de obiecte din alte obiecte pentru a obtine functii noi
  • de comportament: design pattern-uri care se refera la comunicarea dintre obiecte


De citit


Niciun comentariu:

Trimiteți un comentariu

S-ar putea sa nu vedeti comentariul aparand imediat, asta inseamna ca el asteapta aprobarea mea. Aceasta e o masura anti-SPAM.