grand 자식에서 부모로 속성 변경 이벤트를 전파하는 적절한 방법을 찾고 있습니다. 우리는 트리 구조를 가지고 있고 잎의 일부 속성이 변경 될 때이 트리의 루트에 통지해야한다고 가정 해 보겠습니다. 한 가지 방법은 노드의 속성 변경 리스너를 자식 노드에 추가하고 이벤트를 전임자에게 다시 호출하는 것입니다. 또 다른 방법은 계층에 상관없이 모든 자식의 속성 변경 이벤트에 루트를 가입시키는 것입니다. 그래서 문제는 올바르게 수행하는 것입니다. 거기에 어떤 패턴이 있습니까?grand (grand-grand) 자식에서 부모로 속성 변경 이벤트를 전파하는 올바른 방법
2
A
답변
0
나는 이벤트를 전파해야하는 빈도와 비교할 때 트리 수정 빈도에 따라 트레이드 오프가 있다고 생각합니다.
트리가 자주 변경되는 경우 정보를 트리 바로 위쪽의 부모를 통해 전달합니다. 필요한 유일한 설정은 각 노드의 상위 포인터입니다. 또한 매우 간단합니다.
트리 변경이 자주 발생하지 않고 알림 프로세스의 성능이 중요한 경우 루트와 각 리프 사이에 직접 수신기 관계를 설정하는 것이 좋습니다.
2
내 프로젝트 중 하나에서 우리는 그렇게하기위한 프레임 워크를 개발했습니다. 마지막으로 우리는 중첩 된 구조의 속성을 명시 적으로 구독하고 이벤트를 반환하는 것과 같은 것을 사용하지 않기로 결정했습니다. 이것은 꽤 지저분 해졌을 것입니다.
우리의 솔루션은 나무 같은 구조로 구성된지도 기반 모델로 작동합니다. 하나는 트리의 아무 곳에 나 리스너를 등록 할 수 있습니다. 우리가 사용하기에 더 좋게 만들기 위해서 우리는 트리 구조가 pojos (트리의 구조가 모델의 생성시에 빌드 됨) 뒤에 사라지는 프록시 셸 (shell)에 래핑했습니다.
물론 우리는 우리가 원했던 것을 할 수있는 프레임 워크를 찾았지만 아무 것도 없었습니다. 기존의 모든 프레임 워크는 평평한 포르노만을 처리했습니다. 그것은 많은 작업 이었지만 지금은 매우 만족합니다.
관련 문제
- 1. Silverlight에서 자식에서 부모로 값 전달
- 2. 변수 전달하기 자식에서 부모로, 함수처럼 VB.NET
- 3. 부모 - 자식 창을 구현하고 자식에서 부모로 값을 전달하는 방법은 무엇입니까?
- 4. VisualState 변경 내용을 전파하는 가장 좋은 방법
- 5. 첨부 된 속성 상속을 전파하는 중
- 6. 버블 링 단계에서 이벤트를 전파하는 방법은 무엇입니까?
- 7. 기본 동작을 방지하지만 전파하는 이벤트를 중지하지 마십시오.
- 8. Binding.SourceUpdated를 루트 요소의 모든 자식에서 수신하는 방법?
- 9. 내부 구성 요소에서 컨테이너로 스윙 이벤트를 전파하는 방법?
- 10. 마우스 이벤트를 구현하는 올바른 방법
- 11. 하나의 ViewModel에서 MVVW의 다른 ViewModel로 이벤트를 전파하는 방법은 무엇입니까?
- 12. UINavigationController에서 자식에서 부모로 데이터를 전달하는 더 나은 방법 및 모달 프레젠테이션 : 부모 또는 대리자에 대한 참조?
- 13. KnockoutJS에서 속성 변경 이벤트를 식별 하시겠습니까?
- 14. 외부에서 속성 변경 이벤트를 발생시키는 방법은 무엇입니까?
- 15. 속성 변경 이벤트를 사용자 지정 컨트롤에 추가
- 16. 개체가 데이터베이스에 저장된 후에 만 속성 변경 이벤트를 발생시키는 방법
- 17. 올바른 BOOL 속성 설정 방법
- 18. 변경 사항을 다른 데이터베이스에 전파하는 방법은 무엇입니까?
- 19. 변경 방법 SSRS Go To URL 대상 상단에서 부모로
- 20. 근접 변경 이벤트를 수행하는 방법
- 21. 파이썬에서 트리 노드를 전파하는 방법
- 22. jQuery에서 DOM 객체에 이벤트를 수동으로 전파하는 방법이 있습니까?
- 23. jQuery를 사용하여 이벤트를 바인딩하는 올바른 방법
- 24. 상속 된 메서드를 사용하여 자식에서 부모로 메서드를 재귀 적으로 호출 할 수 있습니까?
- 25. iframe을 통해 발생하는 ondragover 이벤트를 전파하는 상위 div까지 어떻게 전파합니까?
- 26. 여러 보고서를 통해 단일 변경 사항을 전파하는 방법은 무엇입니까?
- 27. 속성 시트에서 "tab changed"이벤트를 잡는 방법
- 28. 종속성 속성 올바른 사용
- 29. 변경 속성
- 30. CSS 속성 변경
Btw, 우리는 주로 복잡한 pojos에 GUI 요소를 바인딩하기 위해 그 모델을 사용합니다. – sorencito