У вас есть банкомат с 3 состояниями и 2 способами. если это phesudo-реализация шаблона.Общее поведение в состояниях состояния состояния
01-- class AbstractATMState
02-- Operation1
03-- Operation2
04--
05-- class State1 : AbstractATMState
06-- Operation1
07-- Operation2
08--
09-- class State2 : AbstractATMState
10-- Operation1
11-- Operation2
12--
13-- class State3 : AbstractATMState
14-- Operation1
15-- Operation2
Если Operation1
имеет такое же поведение для 3-х государств, вы просто поставить реализацию на Operation1
в строке 02, но что, если Operation1
имеет ту же реализацию только 2 государств и другую реализацию для третьего? как бы вы решили эту проблему, не повторяя свой код?
P.S. это, конечно, очень упрощенный пример ситуации, но в той же концепции будет сказано 40 штатов с 7 операциями, которые будут реализованы.
Это выглядит очень домашнее задание. Вы должны попробовать что-то, а затем рассказать нам о любых проблемах, которые у вас могут возникнуть, вместо того, чтобы просить нас сделать это за вас. – Mattsjo
Я убил его, пытаясь найти аккуратное решение, но не смог найти его! – Sisyphus