Sobes.tech
Junior — Middle

Decorator nümunəsinin konseptini izah edin və onun proqram təminatı sistemlərinin dizaynında nə kimi üstünlükləri var.

sobes.tech Süni İntellekt

AI-dan cavab

Decorator nümunəsi, obyektlərə dinamik olaraq yeni vəzifələr əlavə etməyə imkan verir, onları eyni interfeysi həyata keçirən digər dekorator obyektləri ilə örtür. Bu, funksionallığı genişləndirmək üçün irsiyyətə alternativdir.

Üstünlüklər:

  • Elastiklik: dekoratorlar müxtəlif ardıcıllıqda və miqdarda birləşdirilə bilər.
  • İrsi ilə siniflərin partlamasının qarşısını alır.
  • İcra zamanı davranış əlavə etməyə imkan verir.

JavaScript (Node.js) nümunəsi:

class Coffee {
  cost() { return 5; }
}

class MilkDecorator {
  constructor(coffee) { this.coffee = coffee; }
  cost() { return this.coffee.cost() + 2; }
}

const simpleCoffee = new Coffee();
const milkCoffee = new MilkDecorator(simpleCoffee);
console.log(milkCoffee.cost()); // 7

Burada MilkDecorator əsas qəhvəyə südün qiymətini əlavə edir.