WPF 용 프리즘이란 무엇입니까?


137

최근에 프리즘 이라는 것을 많이 했습니다. 프로젝트를 운영하는 Microsoft는 다음과 같이 설명합니다.

WPF 및 Silverlight의 복합 응용 프로그램에 대한 지침.

더 자세한 설명을 읽은 후에도 실제로 무엇이 무엇인지 전혀 알지 못합니다.

나는 누군가가 프리즘이 실제로 무엇이고 왜 그것을 배워야 하는지를 명확하게 간결하게 설명 할 수 있기를 바라고 있습니다. 저는 2 년 동안 WPF 개발자였으며 ​​MVVM을 공정한 점유율로 사용했으며 최근에 프리즘을 사용하는 사람들을 만났지만 개인적으로 여기에서 약간 벗어나는 느낌을 받았습니다.

특히 다음 사항에 대해 궁금합니다.

  • 프리즘 은 MSDN 사이트에 제공된 그대로 문자 그대로 또는 소책자 입니까? 정확히 무엇을 위해 라이브러리가 포함되어 있습니까?

  • 프리즘은 MVVM 프레임 워크입니까? 다른 사람이나 내 자신의 "공식 Microsoft MVVM 프레임 워크"로 사용해야합니까?

  • 의존성 주입을 제공합니까? 이런 식으로 MEF와 관련이 있습니까?

  • WPF / Silverlight 개발자로서 Prism의 기능에 대해 알아야 할 사항이 있습니다.


5
실제로는 상당히 복잡한 일이기도합니다. 프리즘은 많은 요구를 충족 시키려고 노력하므로, 목적을 파악하려는 경우 하나의 "올바른"답변을 얻기가 어렵습니다. 실제로 여러 가지 작업을 수행합니다.
리드 콥시

1
나에 의해 요청이 비슷한 질문은이 질문에 좋은 답변을 가지고있다 - stackoverflow.com/questions/6251821/...
akjoshi

9
P & P의 또 다른 어두운 소란. 그들이 이와 같은 것을 발표 할 때마다 나는 그것이 실제로 무엇인지 알아 내기 위해 SO 나 Wikipedia에 가야한다는 것을 알게됩니다. 왜 항상 그렇게 비밀해야합니까?
Adam Ralph

1
원하는 경우 WPF / Silverlight 응용 프로그램에서 MVVM 패턴을 구현하는 방법을 안내하는 일종의 설명서입니다. codePlex의 라이브러리도 있는데 정확히 무엇인지 잘 모르겠습니다. PRISM에 대한 유용한 문서는 아래 링크에 있습니다. Prism 4.1-Microsoft Prism 개발자 안내서-MSDN
user3353518

답변:


92

프리즘은 WPF 및 Silverlight에서 "복합 응용 프로그램"을 구축하기위한 Microsoft 패턴 및 실무 팀 공식 지침입니다.

개발 및 유지 관리 측면에서 유연한 대규모 응용 프로그램을 구축하기위한 모범 사례에 대한 지침을 제공하기위한 것입니다.

여기에는 종속성 주입 (Unity 또는 MEF를 통한), 레이아웃 (MVVM 사용 포함), 복합 이벤트 처리 등에 대한 지침이 포함됩니다.


프리즘은 MSDN 사이트에 제공된 그대로 문자 그대로 (또는 주로) 소책자입니까? 정확히 무엇을 위해 라이브러리가 포함되어 있습니까?

이 책은 책이지만 GitHub 사이트의 지원을위한 라이브러리도 포함합니다 .

프리즘은 MVVM 프레임 워크입니까? 다른 사람이나 내 자신의 "공식 Microsoft MVVM 프레임 워크"로 사용해야합니까?

예, 아니오 여기에는 MVVM 사용에 대한 지침이 포함되어 있지만 MVVM 프레임 워크 이상입니다. 실제로 "MVVM 프레임 워크"는 아니지만 MVVM 지침이 포함되어 있습니다.

의존성 주입을 제공합니까? 이런 식으로 MEF와 관련이 있습니까?

예. 원래 Unity가 포함되었지만 최신 릴리스에는 DI에 MEF 사용이 포함됩니다.

WPF / Silverlight 개발자로서 Prism의 기능에 대해 알아야 할 사항이 있습니다.

그들이하는 일을 살펴볼 가치가 있습니다. 이들은 매우 정교한 "지역"개념과 우수한 이벤트 집계 지원을 제공합니다. 또한 WPF, Silverlight 및 Windows Phone을 동시에 개발하기위한 모범 사례도 포함되어 있습니다.


1
답장을 보내 주셔서 감사합니다. 이것은 내가 생각하는 좋은 개요를 제공합니다. 분명하게 : 실제로 MVVM 관련 코드 또는 라이브러리 DLL이 있습니까?
Noldorin

4
@Noldorin : Prism 내부에 대해 묻고 싶다고 가정하고 있습니다 ... MVVM에 대한 지원이 있지만 솔직히 MVVM은 패턴으로서 거의 라이브러리 지원이 필요하지 않습니다. 프리즘은 훌륭한 알림 객체와 명령 지원 기능을 가지고 있으며, 이는 실제로 MVVM에 실제로 필요한 BCL에없는 유일한 기능입니다. 또한 서비스 로케이터 지원 기능이있어 VM <-> VM 통신에 DI / 공유 서비스를 사용하려는 경우 도움이됩니다. 그것은 등 메시징 프레임 워크, 일부 MVVM "프레임 워크"가 제공하는 "추가"물건의 일부를 가지고 있지 않습니다
리드 Copsey

1
프리즘 지침을 따르려면 라이브러리가 반드시 설치되어 있어야합니까?
dios231

18

WPF 및 Silverlight 앱을 빌드하기위한 프레임 워크입니다.

http://compositewpf.codeplex.com/

Microsoft의 이름을 "CompositeWPF"로 변경하기 전에는 "Prism"이라고 불렀습니다.

답변:

1) 프리즘은 응용 프로그램의 기초로 사용할 MVVM 프레임 워크입니다

2) 특정 요구 사항에 따라 제안합니다. 구체적인 답변을 얻을 수 있도록 구체적인 내용이 담긴 다른 질문을 게시해야합니다.

3) 프리즘은 의존성 주입 (Unity)을 사용하지만 "제공"하지 않습니다

4) Imo, Prism은 많은 기능을 제공하지만 학습 곡선에는 무겁습니다. 단독 개발자 인 소규모 프로젝트의 경우 제공하는 추상화 및 도구가 필요하지 않을 수 있습니다.


3
귀하의 진술 # 1에 다소 동의하지 않습니다-프리즘에는 MVVM 지침이 포함되어 있지만 많은 지침 (대부분의 샘플)이 MVVM이 아닙니다. 복합 애플리케이션을 빌드 할 때 사용할 수있는 하나의 옵션으로 제공됩니다.
리드 콥시

1
나는 항상 MVVM 패턴을 사용했다고 생각합니다
rboarman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.