Шаблон состояния для объектно-ориентированного проектирования банкоматов

avatar
grunt
8 августа 2021 в 15:57
104
0
0

Я читал, что хорошая реализация объектно-ориентированного дизайна банкомата будет использовать шаблон State. Я точно не знаю, как это реализовать, какова связь между клиентом (программой-драйвером), контекстом (классом ATM) и классами состояния.

Например, я нашел эту страницу, на которой реализован дизайн банкомата.

Как будет выглядеть код драйвера (клиент) для класса ATM после вызова Initialize? например Кого и как зовут read_inserted_card.

Определяет ли интерфейс ATMState плоский список всех методов всех подклассов интерфейса, даже если метод относится только к одному подклассу? все методы с (пустой) реализацией по умолчанию в интерфейсе?

Источник
ahoffer
15 октября 2021 в 19:46
0

Я не уверен, какой вопрос вы задаете. Код клиента вызывает метод read_inserted_card, а метод read_inserted_card изменяет состояние банкомата на «ВВЕДИТЕ ПИН-код», но только если текущее состояние — «ГОТОВ».

Ответы (0)