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
- Articolele de pe situl SourceMaking.com (en): eu de acolo copiez acum :)
- Head First Design Patterns (O'Reilly) (en): mi-a fost recomandata ca fiind pentru incepatori
- Google is your friend :) este un subiect discutat destul de mult
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.