Многопоточный, основанный на событиях, асинхронный "каркас" - PullRequest
0 голосов
/ 24 ноября 2010

В последнее время я размышлял о такой «структуре» и хотел знать, существует ли что-то подобное, или это совершенно ужасная идея. И я знал, что хорошие люди в Stack Overflow наверняка будут знать ответ.

Я представлял себе «каркас» или язык для создания приложений или серверов с графическим интерфейсом, где можно было бы создать мастер и собрать все приложение из этого мастера.

Этот мастер будет полностью управляться событиями, по умолчанию он будет содержать событие onSetup для загрузки и упорядочения всего, тогда t просто будет сидеть пассивно в ожидании любого вида события (например, нажатие кнопки, событие через сокет). и т. д.).

Этот мастер будет набором правил, в которых указано, какой подчиненный сервер должен работать (и как интерпретировать возвращаемые данные) в зависимости от того, какое событие он перехватывает. Все эти подчиненные (в основном функции) будут разветвлены для работы в отдельных потоках и будут полностью асинхронными, и только если явно указано, что вызов ведомого поставит остальную часть мастера на удержание.

По моему мнению, это мог бы быть простой способ разработки графических интерфейсов или серверов с высокой производительностью, и он был бы достаточно модульным. Кроме того, все эти различные ведомые устройства могут быть легко распространены и доступны в сети, что значительно повышает эффективность кодера.

Существует ли такой язык или рамки, как этот, или такие концепции просто не имеют смысла, пожалуйста, дайте мне знать, что вы об этом думаете.

Спасибо

Ответы [ 2 ]

0 голосов
/ 24 ноября 2010

То, что вы описываете, на мой взгляд, очень похоже на систему обмена сообщениями, такую ​​как JMS в Java.Вы можете передать свои события в свою главную очередь и разработать набор правил для подписки на эту очередь / тему и выполнять действия в зависимости от самого события.«Каркас», который вы описываете, безусловно, существует - взгляните на http://jboss.org/hornetq от JBoss.Это даст вам всю необходимую вам коммуникацию и асинхронную обработку.

0 голосов
/ 24 ноября 2010

Часто проще просто написать программное обеспечение, которое вам нужно. Рамки могут быть полезны, но трудно сделать хорошо. Ваше предложение звучит так, будто оно просто заставит вас решать проблемы определенным образом, будет ли это подходящим или нет. Вы действительно не вдавались в подробности, хотя. Как бы вы подождали, пока что-нибудь закончится? Как вы говорите рабам остановиться, потому что вы передумали (состояние ошибки) и т. Д. Я не знаю - зависит, есть ли в вашем домене куча проблем, которые можно решить следующим образом.

...