Описание:
Есть мясорубки разных видов (механические, автоматические, промышленные). Есть способы заточки мясорубок (ручной, машинный, с помощью нано-технологий и т.д.) . Для того, чтобы вид мясорубок (механические) можно было затачивать видом заточки (ручным) этот вид мясорубок должен быть на это способен (реализовывать соответствующий интерфейс)
Задача:
как реализовать такую схему чтобы было максимально просто добавлять новые виды заточек и новые виды мясорубок.
Пример:
Реализовали мы класс мясорубка, от него наследованием реализовали классы типов мясорубок. Так же со способами заточки. И теперь вдруг нам захотелось добавить новый вид заточки "на новом супер станке". Чтобы мясорубку можно было на нем затачивать она должна реализовать интерфейс "для заточки на новом супер станке". Т.е. нам нужно реализовать этот во всех уже имеющихся мясорубках.
Можно ли это как-то оптимизировать упростить? Изучив паттерны мне показалось что может быть полезна вот эта штука
http://ru.wikipedia.org/wiki/Мост_(шаблон_проектирования), но как именно ее применить я не понял.
Если будет найдено крутое решение - с меня пиво!