Для школьного задания у меня есть возможность реализовать шаблон стратегии, и я полностью понимаю шаблон с интерфейсом и контекстом, который в зависимости от того, что задано, получает правильную стратегию, но я просто могу " t, похоже, выяснить, как реализовать его с моей конкретной проблемой.Реализация шаблона стратегии для моей конкретной проблемы
Проблема:
Дайте дизайн решения (с UML-диаграмма классов), который решает следующие задачи: система управляет несколько поваров (с помощью повара класса для этого). Некоторые из этих поваров нуждаются в разных вещах, чем другие, чтобы подготовиться к кулинарной сессии, таким образом, повара различают среди других и могут обслуживать разные настройки. Система используется сетью ресторанов, которая работает с большим количеством поваров. Важно составить правильный набор поваров на основе ограниченного сочетания препаратов, поэтому довольно легко удалить поваров определенного типа или добавить новые. Ваше решение должно демонстрировать различные шаги после вызова метода prepare() для повара. Некоторые примеры: варить Jeroen просто нужно, чтобы «поставить фартук», это тоже то, что делают большинство других поваров. Но повар Кристиан должен «поставить фартук, взять коллекцию ножей и установить классическую музыку». И поварам Нини и Льву нужно «открыть пиво и установить какой-то хардрок». Остерегайтесь: некоторые действия требуют взаимодействия с другими классами (они не обязательно должны быть включены явно в ваше решение), поэтому недостаточно просто добавить атрибут String-атрибута!
Я думаю, что Preperation является Тхет интерфейс стратегии и различные виды preperations являются ConcreteStrategies (на примере найдено здесь: http://upload.wikimedia.org/wikipedia/commons/3/39/Strategy_Pattern_in_UML.png) и кок контекст в данном примере
Упование вы можете пролить свет на это для меня (я предпочел бы намек в сторону тэ правильном направлении, а не полное решение)
Edit: Заменены мой explenation проблемы и вставил оригинальный текст
Что вы хотите сказать? Также звучит как «Цепочка ответственности» для меня. –
Итак, у вас есть шаблон дизайна и вы ищете проблему для его применения. Именно так вы не должны использовать шаблоны проектирования. То, что вам нужно, - это проблема для решения и примените шаблон, который элегантно решает эту проблему. Шаблоны выходят из кода, а не наоборот.Из вашего описания проблемы я не вижу, как будет выглядеть шаблон стратегии. –
Я не вижу использования шаблона стратегии в вашем посте. Спросите себя, какова проблема, на самом деле решающая задача Стратегии в этом задании? – FunctionR