Продолжим работать с нашим ботом Absorption из прошлой темы. Помимо того, что в нем нет пока никакой логики, он даже не появится в терминале в окне выбора роботов для запуска, потому что программа не знает о его существовании. Чтобы исправить положение, существует три способа, в этой теме рассмотрим первый из них.
Классический подход, самый первый и когда-то единственный заключается в том, что вам надо руками прописывать создание экземпляра робота в классе BotFactory. Сразу отмечу, что подход является устаревшим и не рекомендуется к использованию, существует для сохранения обратной совместимости.
Первым делом нужно в методе GetNamesStrategy добавить в результирующий список строку с названием алгоритма, которая будет отображаться в окне выбора робота:
Рис. 1. Добавление названия робота в список доступных алгоритмов.
Далее в методе GetStrategyForName создаем экземпляр робота если запрашиваемое имя класса равно названию нашего алгоритма:
Рис. 2. Внедрение робота в BotFactory.
И теперь мы можем получить доступ к нашему алгоритму из пользовательского интерфейса:
Рис. 3. Создание робота в пользовательском интерфейсе.
Комментарии