Актуален ли будет демон фреймворк на пхп? без сокетов с передачей данных процессу через базу или шаред мемори? есть это https://habrahabr.ru/post/79377/
Допустим у нас есть браузерная игра: 1. Участники регистрируются в бой. 2. Под каждый бой выделяется 1 процесс который завершается после боя. 3. Процессу выделяется номер игроки юзеры к нему обращаются 4. Таких процессов может быть 100 одновременно. 5. Демоны нужны для асинхронности, что бы процесс мог им отвечать в браузер 6. Демон делает что то по таймауту. 7. У каждого демона есть свое состояние оно может хранится в базе или в памяти.
@Padaboo если выделять процесс на каждый бой, это это должны быть лёгкие процессы, как в Erlang например, потому что отдельный PHP процесс будет много памяти занимать
Можно сделать игроку "состояние" типа: игрок в бою, игрок на улице, игрок в магазине. Но бой должен: получать сообщения от игроков удары и отвечать - отнимать жизни. Может быть сделать его по типу чата. Еще у боя есть внутренние состояние которое должно обновляеться можно конечно сделать через базу данных но тут подойдет наверное процессо. Есть предложение как сделать подругому.
Продолжу тему 1. Написание технического задания. 1.1 Составление функциональных требований к программному обеспечению. 1.2 Проектирование схемы базы данных. 1.3 Составление объектно ориентированных моделей по схеме базы данных. 1.4 Проектирование общей архитектуры программного обеспечения. 1.5 Рисование дизайна и юзабилити. 1.6 Составление сценариев программного обеспечения. 1.7 Программирование логики сценариев (контроллеров). 2. Разработка. 2.1 Постановка задач на 1 неделю. 2.2 Выполнение задач. 2.3 Написание тестов. 2.4 Копия разработанного кода в репозиторий (git bitbucket). 2.5 Повторение с пункта 2.1 Варианты кодирования, сложилось несколько подходов к написанию кода: 1. Процедурный - все кодируется при помощи функций. 2. Объектно ориентированный. Подходы к программированию и проектировани. Подход основанный на несинхронных задача которые запускаются в отдельном потоке jsocket framework documentation Подход основанный на запуске отдельных системных процессов phpDaemon. Событийно-ориентированное программирование java design patterns + archirecture Design architecture books Archirecture java design patterns visitor java design patterns template java design patterns strategy java design patterns state java design patterns observer java design patterns memento java design patterns mediator java design patterns iterator java design patterns interpreter java design patterns command java design patterns-chain java design patterns proxy java design patterns flyweight java design patterns facade java design patterns decorator java design patterns composite java design patterns bridge java design patterns adapter java design patterns prototype java design patterns singleton java design patterns factory method java design patterns builder java design patterns abstract factory
Там другой стиль потому что: 1. Событийность (события интерфейса Swing) 2. Многопоточность 3. Асинхроннность Пример Игровой миро живет сам по себе Боты бегают в отдельных потоках Игроки бегают в отдельных потоках Синхронизация События нажатия на интерфейс Эффекты тоже в отдельных потоках Интерфейс тоже в отдельно потоке Иначе все это будет тормозить