Архитектура приложения — вопрос по книгам и задача
Какие хорошие книги можно почитать на тему того, как строить приложение?
Например, сейчас я пишу бота для одной xmpp-based игры на python.
Пользуюсь xmpppy. Пока решил сделать так:
При формировании сообщения сделать модули по xmlns, то есть, для получения профиля будет делаться что-то вроде
bot.send( gameApi.iq.ProfileIq( id ) )
Можно еще сделать вот как
bot.send( xmpp.protocol.Iq( payload = getProfile( id ) ) )
Проблема в том, что я не знаю, как организовать хендлеры для входящих сообщений:
можно сделать функцию gameApi.event.GameHandler(), LeaderHandler и так далее, и их прицеплять к боту, например или же создать класс, который будет их регистрировать автоматически.
При этом игра делится на три стадии, тут я вообще без понятия, что делать:
Стадия открывается сообщением от сервера, хендлер его обрабатывает, далее (я предполагаю), стоит вызвать функцию обработки стадии, например, smth.StageOneProcess().
Предложите, что почитать на эту тему и свой вариант решения, покажите косяки в моем решении.
также моя цель — плавно перейти от ручного управления (то есть просто клиент на питоне) к записи хода игры в логи, затем уже к боту. Желательно из версии с ботом иметь возможность управлять вручную. Тут тоже пока не хватает знаний, как реализовать это.
Если хотите действительно понять архитектуру (при условии что Вы уже довольно таки опытный и прочитали довольно таки много книг) то просто делайте бота. Когда он будет готов, сделайте еще раз, но по другому, и затем еще раз переделайте. После третьего раза у вас будет красивый, вылизаный и понятный код + бесценный опыт от раздумий и ошибок.