이것은 더 많은 디자인 질문입니다.비즈니스 개체가 변경 될 때 UI 자동 새로 고침
비즈니스 개체를 다양한 방법 (예 : 트리 노드, 목록보기 항목, 콤보 상자, 텍스트 필드 등)으로 표시하는 도구를 작성하고 있습니다. g 용자가 이들 중 하나를 변경할 때마다 해당 Business Object가 변경되었거나 해당 Business Object가 속한 콜렉션이 변경되었음을 알리는 이벤트가 발생합니다. 이 Business Object 또는 해당 Business Object가 속할 수있는 콜렉션이 두 개 이상의 위치에 표시 될 수 있으 G로, 각 UI 요소를이 변경 사항을 반영하도록 갱신해야합니다. 변경시 각 유형의 UI 요소가 올바르게 업데이트되도록하는 우아한 솔루션이 있습니까?
이 작업을 수행하는 방법에 대한 아이디어가 몇 가지 있지만 누구나이 문제가있어 솔루션에 만족하는지 확인하고 싶습니다. 이것은 C# WinForm이지만 솔루션은 모든 언어가 될 수 있습니다. 문제와 해결 방안에
나의 현재의 생각 :
당신이 이벤트 바인딩을 정리할 때 더 복잡해진다 (즉 businessObject.Changed - = ObjectChanged) 비즈니스 오브젝트는 TreeNodeCollection의 일부가/ListViewITemCollection/ComboBoxItemCollection 및 Clear()가 컬렉션에서 호출됩니다.
각 개체와 해당 UI 요소가 등록 될 수있는 위치, 비즈니스 개체의 이벤트를 한 위치에서 수신 할 수있는 위치 및 이벤트 발생시 각 UI 요소가 업데이트되는 것은 어떻습니까? 모든 UI 요소의 등록이 해제되면 해당 개체의 이벤트에 대한 구독이 제거됩니다.
이 솔루션의 문제점은 모든 컨트롤이 모든 생성시 UI 구성 요소와 개체를 등록하는 데 책임 져야한다는 점입니다. 이는 지저분해질 수 있습니다.
의견이 있으십니까?
를 원하는 것입니다. –