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.