Ang mga disenyong padron ay napatunayang solusyon sa mga karaniwang problema sa pagpoprograma. Sa C++, tumutulong ang mga ito sa pagpapabuti ng organisasyon ng code, muling pag-eeeksperimento, at pagpapanatili.Ang artikulong ito ay tumutuklas ng mga praktikal na halimbawa ng mga popular na disenyo at kung paano ito maikakapit upang malutas ang mga tunay na-daigdigang problema.
Isang Halimbawa ng Pag - iisa
Tinitiyak ng huwarang Singleton na ang isang klase ay may isa lamang pagkakataon at naglalaan ng pangglobong punto na magagamit ito.
Pagpapatupad ng halimbawa:
Code:
```Acpp class Logger ⁇ pribado: static Logger* ⁇ ; Logger() publiko: static Logger* get Instance() ⁇ kung (!instance) ⁇ = bagong Logger(); ⁇ ⁇ ; ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
Paraan ng Pabrika
Binibigyang kahulugan ng disenyo ng Factory Method ang isang interface para sa paglikha ng mga bagay ngunit nagpapahintulot sa mga subclass na baguhin ang uri ng mga bagay na lilikhain. ito ay nagtataguyod ng maluwag na pagkakasanib at pagiging madaling hubugin.
Halimbawa: Paggawa ng iba't ibang uri ng dokumento.
Code:
```Acpp class Document ⁇ public: virtual defenth() = 0; birtual ⁇ Document() ⁇ ; class PDFDocument : public Document ⁇ , ⁇ , ⁇ () ⁇ ⁇ //Liks na dokumentong ⁇ ⁇ ⁇ ; class WordDou ⁇ : public Document ⁇ ⁇ ⁇ ( ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ ; ⁇ ⁇ ; ⁇ ⁇ ; ⁇ ⁇ ⁇ ; ⁇ ⁇ ; ⁇ ; ⁇ ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ( ⁇ ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ ; ⁇ = 1/ ⁇ ; 1/ 1/
Huwaran sa Pagmamasid
Ang dibuhong Observer ay nagtatatag ng isang one-to-manyanong dependensiya sa pagitan ng mga bagay upang kapag ang isang bagay ay nagbabago ng estado, ang lahat ng mga dependensiya nito ay awtomatikong naipababatid. ito ay kapaki-pakinabang sa pagpapatupad ng mga pangyayaring humahawak ng mga sistema.
Halimbawa: isang simpleng sistema ng pangyayari kung saan maraming nagmamasid ang tumutugon sa isang pagbabago.
Code:
```cpp #include #include class Observer ⁇ public: virtual vown update() = 0; birtual ⁇ ⁇ () ⁇ ; class Subject ⁇ pribado: std:::: veector observers; publiko: bakanteng nakakabit(bler* tagapagmasid) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ .