문서/뷰 아키텍처의 이점

MFC 문서/뷰 아키텍처를 사용하는 주요 이점은 아키텍처가 동일한 문서의 여러 보기를 특히 잘 지원한다는 것입니다. (여러 보기가 필요하지 않고 애플리케이션에서 문서/보기의 작은 오버헤드가 과도한 경우 아키텍처를 방지할 수 있습니다. 문서/뷰 아키텍처의 대안입니다.)

애플리케이션에서 사용자가 스프레드시트 양식 또는 차트 형식으로 숫자 데이터를 볼 수 있다고 가정합니다. 사용자는 원시 데이터, 스프레드시트 형식 및 데이터 결과 차트를 동시에 볼 수 있습니다. 이러한 개별 보기를 별도의 프레임 창 또는 단일 창 내의 분할자 창에 표시합니다. 이제 사용자가 스프레드시트의 데이터를 편집하고 차트에 즉시 반영된 변경 내용을 볼 수 있다고 가정합니다.

MFC에서 스프레드시트 보기와 차트 보기는 CView에서 파생된 다양한 클래스를 기반으로 합니다. 두 보기는 모두 단일 문서 개체와 연결됩니다. 문서는 데이터를 저장합니다(또는 데이터베이스에서 가져올 수도 있음). 두 보기 모두 문서에 액세스하고 문서에서 검색한 데이터를 표시합니다.

사용자가 뷰 중 하나를 업데이트하면 해당 뷰 개체가 호출됩니다 CDocument::UpdateAllViews. 이 함수는 문서의 모든 보기를 알리고 각 보기는 문서의 최신 데이터를 사용하여 자체 업데이트됩니다. 다른 보기를 동기화하는 UpdateAllViews 단일 호출입니다.

이 시나리오는 뷰에서 데이터를 분리하지 않고는 코딩하기 어려울 수 있으며, 특히 뷰가 데이터 자체를 저장한 경우를 들 수 있습니다. 문서/보기를 사용하면 쉽습니다. 프레임워크는 대부분의 조정 작업을 수행합니다.

다음에 대해 자세히 알고 싶은 사항

참고 항목

문서/뷰 아키텍처