Я программирую кофемашину со многими видами кофе. Я предлагаю нормальный кофе, эспрессо, капучино, а также ирландский кофе (виски, кофе, сахар, взбитые сливки), испанский кофе (Cointreau, коньяк, кофе, сахар, взбитые сливки) и итальянский кофе (амаретто, кофе, сахар, взбитые сливки)).
Я планирую добавить больше видов кофе в будущем, поэтому должно быть легко добавить больше сортов кофе без добавления класса для каждого вида.
Мое решение - использовать шаблон декоратора. Однако это оставит меня с таким количеством декораторов, как SugarDecorator
, MilkDecorator
, WhiskeyDecorator
, AmarettoDecorator
, WhippedCreamDecorator
...
Как я могу это исправить, не добавляя декоратор для каждой приправы