Ang decorator pattern ay isang malakas na disenyong disenyo sa software engineering na nagpapahintulot sa mga developer na magdagdag ng bagong functionality sa mga umiiral na bagay nang hindi binabago ang kanilang orihinal na code. Ang pamamaraang ito ay lalo nang kapaki-pakinabang kung kailangan mong magdagdag ng pagtotroso sa mga paraan ng serbisyo nang hindi binabago ang kanilang pinagmulang code, na tinitiyak ang malinis at pinananatili ang mga codebase.

Pag - unawa sa Halimbawa ng Pag - aayos

Ang decorator na disenyo ay nagsasangkot ng paglikha ng isang uri ng pambalot na nag - uugnay sa orihinal na serbisyo.

Pag - e - enjoy sa Paglalagay ng Pagpapalamuti

Ipagpalagay nang mayroon kang interface sa serbisyo:

public interface DataService {
 void fetchData();
}

Maaari kang lumikha ng isang tiyak na pagpapatupad:

public class RealDataService implements DataService {
 @Override
 public void fetchData() {
 // Fetch data from a database or external API
 }
}

Pagkatapos, lumikha ng isang decorator class na nagdaragdag ng pagtotroso:

public class LoggingDataServiceDecorator implements DataService {
 private final DataService wrappedService;

 public LoggingDataServiceDecorator(DataService service) {
 this.wrappedService = service;
 }

 @Override
 public void fetchData() {
 System.out.println("Fetching data started.");
 wrappedService.fetchData();
 System.out.println("Fetching data completed.");
 }
}

Paggamit ng Tulad - Kahiyahan

Upang dagdagan pa ang pagtotroso, i - instant ang decorator sa iyong umiiral na serbisyo:

DataService service = new RealDataService();
DataService loggedService = new LoggingDataServiceDecorator(service);

// Now, calling fetchData will include logging
loggedService.fetchData();

Mga Pakinabang ng Ulirang Paraan

  • Mga akses na umiiral na functionality nang hindi binabago ang orihinal na kodigo
  • Itinataguyod ang muling paggamit ng kodigo at paghihiwalay ng mga alalahanin
  • Mga facilitate na nagdaragdag ng maraming patong ng dynamic na paggawi

Ang paggamit ng decorator na padron para sa pagtotroso ay isang eleganteng solusyon na nagpapanatili ng malinis na kodigo at sumusunod sa bukas-sarang prinsipyo, na ginagawang mas madaling i-abot at panatilihin ang iyong mga aplikasyon.