it-source

WPF 명령 대 이벤트 장점/단점

criticalcode 2023. 4. 26. 23:24
반응형

WPF 명령 대 이벤트 장점/단점

WPF에서 명령어와 이벤트를 사용하는 것의 장점이 무엇인지 알려줄 수 있는 사람이 있습니까?명령 또는 이벤트에 메모리 누수가 발생합니까?가장 빠른 방법은 무엇입니까?그들의 단점은 무엇입니까?

명령은 이벤트 핸들러에 비해 두 가지 주요 이점을 제공합니다.

  1. 명령은 호출자와 연결되지 않으므로 동일한 명령은 종속되지 않으며 메뉴 항목, 도구 모음 단추, 키보드 등에서 호출할 수 있습니다.
  2. 명령은 명령 상태에 따라 모든 관련 UI 컨트롤의 활성화/비활성화를 지원합니다(실행 가능 여부).

저는 실제 프로젝트에서 명령어를 사용하는 것을 선호합니다. 특히 M-V-VM을 사용하려는 경우에는 더욱 그렇습니다.

명령과 관련된 메모리 누수에 대해서는 들어본 적이 없습니다.

이벤트가 더 빠를 수도 있지만, 큰 차이는 없을 것입니다. 2년 동안 프로젝트에서 명령을 사용했으며 성능 문제는 없었습니다.

명령에 대한 자세한 내용은 명령 개요(아카이브)(v4)를 참조하십시오.

그러나 명령과 이벤트는 중복될 수 있지만 두 가지는 다릅니다.명령은 "이 작업을 수행하십시오!"라고 말하고 이벤트는 "이 작업이 방금 수행되었습니다!"라고 말합니다.따라서 창을 닫기 위한 CloseWindow Command(창 닫기 명령)가 있을 수 있지만 창에는 닫히는 구독 개체를 알려주는 ClosingEvent(닫기 이벤트)가 있을 수 있습니다.

명령은 이벤트를 통합하는 보다 표준적인 방법입니다.이벤트의 도움을 받아 단일 작업(명령)을 정의하고 다른 위치에서 사용할 수 있으므로 이벤트보다 유용할 수 있습니다.예를 들어 저장 명령을 정의하고 메뉴 항목, 상황에 맞는 메뉴 항목 및 버튼을 사용하여 동시에 사용할 수 있습니다.이렇게 하면 작업을 중앙 집중화할 수 있습니다.또한 명령은 WPF 응용 프로그램의 매우 강력한 기능인 데이터 바인딩을 지원합니다. 제가 알기로는 명령은 특정 유형의 메모리 누수를 초래하지만 많은 해결 방법을 사용하면 이를 방지할 수 있습니다.MVVM 설계 패턴 또한 WPF 애플리케이션을 설계하는 표준 방법으로 명령을 사용한다는 점을 추가해야 합니다.이벤트 작업은 훨씬 간단하지만 명령은 훨씬 강력한 설계를 제공합니다.그러나 이벤트 대신 항상 명령을 사용할 수는 없습니다.이벤트만 사용할 수 있는 장소가 많습니다.

또한 WPF4.0에서는 명령 정의에 바인딩할 수 있습니다.이렇게 하면 보기 모델의 명령을 훨씬 쉽게 노출할 수 있으므로 논리와 UI 문제를 구분하는 데 도움이 됩니다.

명령은 라우팅된 이벤트입니다.

언급URL : https://stackoverflow.com/questions/2952956/wpf-commands-vs-events-advantages-disadvantages

반응형