(데이터 기반 시각화를위한)이 내 자바 스크립트 응용 프로그램의 클래스의 일부입니다 :JavaScript의 종속 삽입?
myApp.mode.model Handles the state
myApp.mode.controller Instantiates and updates components based on the model
myApp.data.dataManager Does operations on the dataSource
myApp.data.dataSource A big singleton with structured data
myApp.chart.grid A grid component
myApp.chart.scatter A scatter gram renderer
myApp.chart.tooltip A tooltip renderer
은 이러한 구성 요소 사이의 상호 작용은 아래에 스케치됩니다 (나쁜 손으에 대한 죄송 기술 ...;.))
내가 찾고 시각화 컨트롤러의 하위 구성 요소에 필요한 인자 (의존성 관리)를 전달하는 깨끗한 방법 :
이의 사용자가 시각화 디스플레이에 표시를 변경한다고 가정 해 봅시다 . 모델은 데이터 관리자에게 필요한 데이터를로드 할 것을 요청합니다. 데이터가로드 될 때
가, 시각화 컨트롤러가 모델 변화에 대해 학습하고 각각의 구성 요소를 업데이트해야합니다 : 그리드, 분산 형, 툴팁 등
그리드는이 xMin, XMAX, 폭 것을 알 필요가, 높이 ...
"Scatter renderer"에는 xMin, xMax, width, height도 필요합니다. 또한 큰 데이터 싱글 톤에 대한 액세스가 필요하며 데이터의 어떤 부분을 그릴 지 알아야합니다.
세 가지 질문 :
은 어떻게 분산 렌더러에 데이터 소스를 통과합니까? 그것을 선언하거나 전달합니까?
많은 구성 요소가 사용 가능한 데이터에 관심이 있습니다. 데이터 관리자가이 쿼리에 응답 할 수 있습니다. "dataAvailability"를 Scatter 렌더러에 전달해야합니까? 아니면 전체 데이터 관리자를 종속성으로 가져야합니까?
도식적 인 그림을 보면 새로운 상태 (새로운 지표, 연도, 선택, 폭, 높이)가 모든 하위 객체를 통해 쉽게 전파 될 수 있도록 객체를 배치하는 방법은 무엇입니까? 당신이 무슨 말을하는지
감사합니다 :)
가 특정 JS 프레임 워크 또는 라이브러리를 사용하고 의존성 주입에 대한 https://github.com/briancavalier/wire 체크 아웃? 그들 중 일부는 이런 종류의 물건에 정확하게 도움이되는 기능을 가지고 있습니다. – hugomg
꽤 많은 코드를 작성한 것처럼 보이므로이 질문에 대한 대답은 아니지만 backbone.js를 향후 JS MVC 유형 프로젝트에 사용할 수 있습니다 –
컨트롤러와 모델 간의 상호 작용이 표시되지 않습니다 ...이 myApp.mode.controller가 시각화 컨트롤러가 아니면 –