Цитата:
Сообщение от ATracer
как вариант:
DI/AOP - guice,
|
почему бы не Spring использовать в качестве контейнера? Чего такого особенного ты в нем нашел.
Некоторое время работал с Guice 2.0, но всеже остался на Spring'e .
Модульность приложения можно поддерживать (на крайний случай) разделяя файл контекста на части соответствующие модулям.
Добавлено через 6 минут
Цитата:
Сообщение от ASevenfold
Хотя можно предположить и другой вариант - написание своего classloader'а, который будет отслеживать в изменения загруженных модулей/библиотек.
|
Зачем перезагружать такие большие объекты в рантайме? Для этого должны производится полные перезагрузки. По возможности необходимо максимально снизить количество контента который может быть перезагружен во время работы сервера. (Исключение - тестовые и dev-сборки, но ни в коем случае не production-версии)
Добавлено через 9 минут
Цитата:
Сообщение от ASevenfold
Если уже говорим про модульность и абстрактность, то было бы хорошо разделить проект на несколько модулей (предположительно: сеть, работа с базой, геймплей, "игра")
|
Network Layer
Database Layer
Game API
Extension/Module API
Весь игровой контент наращивать на API как это сделано на оригинале: в сервере только базовая логика и запуск игровых событий, вся остальная составляющая (воздействие с игровыми объектами) должно быть скриптовое.