Аналогичных такому паттерну шаблонов можно наклепать огромное количество. Обычный переMVC и недоVIPER. Главное при внедрении любого паттерна, четко понимать полномочия отдельных классов и для чего они нужны.
Для большего упрощения можно вообще сделать два класса: PatternViewController и PatternLogic.
Как результат — потоки, обрабатывающие входящие запросы пользователей быстро освобождаются и готовы принимать новые игровые запросы. Длительные операции выполняются асинхронно и не блокируют их.
Резюмируя: я такими формулировками в институте писал в работах для галочки. Куча воды, а потом ХОБА и прекрасный результат. Преподы делали вид что поняли, я делал вид что написал что-то дельное, никто не терял лица друг перед другом и мы расходились по сторонам. Примерно также и тут.
Для большего упрощения можно вообще сделать два класса: PatternViewController и PatternLogic.
Резюмируя: я такими формулировками в институте писал в работах для галочки. Куча воды, а потом ХОБА и прекрасный результат. Преподы делали вид что поняли, я делал вид что написал что-то дельное, никто не терял лица друг перед другом и мы расходились по сторонам. Примерно также и тут.