다른 플랫폼의 네이티브 프론트 엔드가 객체를 관찰하고 Observable 패턴을 활용할 수 있도록 객체 플랫폼에서 스레드 안전 방식으로 작동하도록 크로스 플랫폼 라이브러리 (예 : JRE)를 어떻게 구현할 수 있습니까?
약간의 배경 지식-대부분의 프론트 엔드 프레임 워크에 사용되는 데이터 바인딩 개념이 있습니다. C # 및 Java에서 이는 여러 컨트롤 또는 "관찰자"가 구독 할 수있는 변경이 발생할 때 이벤트를 발생시키는 클래스 기능을 클래스에 제공하는 Observable 특성과 관련됩니다. 이런 식으로 관찰자는 업데이트를 비교하면서 리소스를 계속 폴링 / 읽지 않아도됩니다.
시간이 지남에 따라 데이터 목록을 변경하는 분석 엔진에서 작업하고 싶습니다. 분석이 실행되는 동안 프런트 엔드가 이러한 목록을 관찰 할 수있게하는 것이 좋습니다. 이것은 프론트 엔드가 객체를 분석 엔진에 전달하고, 플랫폼 간 라이브러리에 작성되어 해당 객체를 스레드로부터 안전하게 읽을 수 있어야한다고 생각합니다. 그렇지 않으면 라이브러리가 관찰 가능성 계약을 충족 시키도록하십시오.
이전 Unix 스타일 CLI 엔진에서이를 처리하는 방법은 stdin / stdout / stderr을 사용하고 정기적 간격으로 엔진을 업데이트하는 것입니다. 이것은 가능하면 피하기 위해 표준 오버 헤드 및 텍스트 구문 분석이 필요합니다.