Ang disenyong disenyong disenyo ay isang mahusay na disenyong disenyo sa Java na nagpapahintulot sa mga developer na magdagdag ng mga bagong functionality sa mga bagay nang walang pagbabago sa kanilang umiiral na istraktura.Ang dibuhong ito ay lalo nang kapaki-pakinabang kung nais mong palawigin ang pag-aasal ng mga bagay sa paraang naibabagay at napananatili.

Pag - unawa sa Halimbawa ng Pag - aayos

Ang disenyo ng mga dekorasyon ay nagsasangkot ng paggawa ng isang set ng mga klase ng decorator na ginagamit sa pagbabalot ng kongkretong mga sangkap.

Pag - isipan ang Halimbawa sa Java

Upang ipatupad ang disenyong gayak sa Java, sundin ang mga hakbang na ito:

  • Ipaliwanag ang isang karaniwang pagitan para sa mga sangkap.
  • Gumawa ng mga klase ng kongkreto na nagpapatupad sa interface na ito.
  • Gumawa ng mga klase ng decorator na nagpapatupad din sa interface at naglalaman ng pagtukoy sa isang sangkap na bagay.
  • Mga pamamaraang override sa mga decorator upang magdagdag ng mga bagong functionities.

Halimbawa: Karagdagang mga Katangian sa Isang Pangkat ng Kape

Isaalang - alang ang isang simpleng halimbawa kung saan maaari kang magkaroon ng isang Coffee[[1] interface. Upang magdagdag ng mga katangiang gaya ng gatas o asukal, maaari kang lumikha ng mga klase ng decortor gaya ng [4]MilkDector at[TL][TLL.[[[[T][[T][[[T][TL] [[[TL] [[TLLL][[TL] [[TLLLL][[[T]]][TLLLL]].

Ang setup na ito ay nagpapahintulot sa iyo na dinamikong magdagdag ng mga katangian sa isang bagay na kape sa panahon ng pagtakbo, nang hindi binabago ang umiiral na mga klase.

Mga Pakinabang ng Paggamit ng Parisang Pagpapalamuti

  • Ang pakikibagay sa pagdaragdag ng mga functionity sa runtime.
  • Nagtataguyod ng muling pag-aaasal ng kodigo at pagsunod sa Open/Closed Principle.
  • Binabawasan ang pangangailangan para sa masalimuot na mga herarkiya ng mana.

Pagsasaayos

Ang disenyong pangkompyuter ay isang maraming - gamit na kasangkapan sa pagpoprograma ng Java na nagpapasulong sa pagiging madaling makibagay at pagpapanatili ng iyong kodigo.