Junior — Middle
консепти паттерни Decorator-ро шарҳ диҳед ва дар тарҳи системҳои нармафзории он чӣ фоида дорад.
sobes.tech AI
Ҷавоб аз AI
Модели Decorator имкон медиҳад, ки ба объектҳо дар динамикӣ масъулиятҳои нав илова карда шаванд, онҳоро дар дигар объектҳои-декоратор, ки ҳамон интерфейсро иҷро мекунанд, пӯшондан. Ин алтернативаи мерос барои васеъ кардани функсионалият аст.
Арзишҳо:
- Флексибиллик: декораторҳоро метавон дар тартиб ва миқдори гуногун омезиш дод.
- Аз афзоиши экспоненсиалии синфҳо бо меросӣ пешгирӣ мекунад.
- Имкон медиҳад, ки рафтор дар вақти иҷро илова карда шавад.
Масалан дар JavaScript (Node.js):
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
Ин ҷо MilkDecorator нархи широ ба кофе асосӣ илова мекунад.