Как я могу реализовать свою кроссплатформенную библиотеку (например, на JRE), чтобы работать в поточно-ориентированном режиме с объектными ссылками, чтобы нативные внешние интерфейсы на других платформах могли наблюдать объект и использовать преимущества шаблонов Observable?
Немного предыстории - концепция связывания данных используется в большинстве интерфейсных сред. В C # и Java это связано с признаком Observable, который дает классу возможность инициировать события, когда происходят изменения, на которые могут подписаться несколько элементов управления или «наблюдателей». Таким образом, наблюдатели не должны продолжать опрашивать / читать ресурс, сравнивая обновления.
Я хочу работать над механизмом анализа, который со временем вносит изменения в списки данных. Было бы неплохо, чтобы клиентский интерфейс мог наблюдать за этими списками во время анализа. Мне кажется, что для этого потребуется, чтобы клиентский интерфейс мог передавать объект в механизм анализа, написанный в библиотеке, которая, мы надеемся, является кроссплатформенной, и иметь возможность выполнять потоковое чтение для этого объекта. Или же, чтобы библиотека удовлетворяла договорам о наблюдаемости.
Способ, которым это обрабатывается в более старых движках CLI Unix-стиля, заключается в использовании stdin / stdout / stderr и регулярном обновлении движка. Это требует стандартных накладных расходов и разбора текста, которых я бы предпочел избежать, если это возможно.