앞서 말씀 드린 MVVM 패턴을 사용해서 프로그램을 작성하려면 

Data, Command, Event 등을 바인딩하는 것에 대한 정의나

반대로 UI에 Notification 하는 방법 등을 구현해야 저희가 원하는 설계대로 동작하게 됩니다.


2019/02/20 - [Software] - 프로그래밍 이야기2 - MVVM 패턴 (Model-View-Viewmodel)



그래서 이번에는 MVVM 패턴, Command 패턴, Module 관리, Event 통신 등 다양한 디자인 패턴과 프레임웍크를 제공해주는

Prism Library 에 대해서 말씀 드리겠습니다.


Prism Library 는 Microsoft patterns & practices Developer Center 에 WPF와 Silverlight 개발 시 개발자 가이드로 제안할 정도로 개발에 필요한 핵심 적인 Design pattern 과 Framework 들이 잘 구현되어져 있는 Library 입니다.

(참고: https://docs.microsoft.com/en-us/previous-versions/msp-n-p/gg406140(v%3dpandp.10))



간단하게 제 개인적인 견해로 핵심적인 기능들을 나열해보면


1. MEF() or Unity() 를 사용한 모듈관리

(Prism 6.3 버전 이 후 MEF 지원 중단 ㅠㅠ)


( 모듈 관리)



2. MVVM Pattern 


( MVVM Pattern )





3. Composing UI


( Composing UI )





4. Event Aggregator 를 사용한 모듈간 통신


Event AggregationEvent Aggregation

( Event Aggregation )


으로 들 수 있습니다.




License 는 훌륭하게도 MIT License 를 따르고 있습니다.

(참고: https://github.com/PrismLibrary/Prism/blob/master/LICENSE )


오픈소스이기 때문에 GiHub 에서 소스코드 및 자세한 정보 확인이 가능합니다.

(GitHub URL: https://github.com/PrismLibrary/Prism)


초기에 공부하시는 분들은 Microsoft 에서 제공해주는 Prism 5 를 다운 받으셔서 포함된 Example(특히 Stock Trader RI Example) 을 가지고 공부하시면 큰 도움을 받을 수 있습니다.


(다운로드 URL: https://www.microsoft.com/en-us/download/details.aspx?id=42537)



현재 Prism 은 7.2 버전 까지 나왔으며, WPF 뿐만아니라 Xamarin.Forms 도 지원하기 때문에 개발하시는데 많은 도움이 될 것으로 생각됩니다.


Prism Library는 Visual Studio NuGet 에서도 다운 받으셔서 사용하실 수도 있습니다.

Posted by 소프트장
,