라벨이 Prism인 게시물 표시

WPF Prism에서 AutoMapper 사용하기

WPF Prism에서 AutoMapper 사용하기 AutoMapper AutoMapper는 서로 다른 두 클래스를 보다 쉽게 매핑하기 위해 사용하는 라이브러리이다. 내 경우(그리고 많은 오픈소스 프로젝트의 경우) 모델과 DTO 사이의 매핑을 손쉽게 처리하기 위해 주로 사용된다. Prism Prism 프레임워크, 또는 라이브러리 1 는 이전 포스트 에서 자세히 다룬 바 있다. 다시 간략하게 정리하자면 MVVM 기반 프로젝트 개발을 더 쉽게 할 수 있도록 도와주는 프레임워크이다. Prism에서 AutoMapper DI하기 ASP.NET 프로젝트에서 AutoMapper 사용은 정말 쉽다. 애초에 AutoMapper에서 확장 메서드를 제공하기 때문에 서비스를 구성할 때 해당 메서드를 호출하고, AutoMapper.Profile 을 상속받은 클래스를 만들어 아무 곳에다가 배치해놓은 뒤 실행하면 된다. 그러나 Prism용 확장 메서드는 자체적으로 제공되지 않으므로 직접 만들어 써야 한다. IAutoMapperProvider interface 일단 DI를 위해 사용할 인터페이스부터 구성한다. public interface IAutoMapperProvider { IMapper GetMapper ( ) ; } AutoMapperProvider class 이제 위 인터페이스를 상속한 AutoMapperProvider 클래스를 작성한다. public class AutoMapperProvider : IAutoMapperProvider { private readonly MapperConfiguration _configuration ; public AutoMapperProvider ( IContainerProvider containerProvider ) { _configuration = new MapperConfiguration ( config ...

프리즘 생산성 도구들

프리즘 생산성 도구들 생산성 도구 현재 프리즘은 Visaul Studio 및 Visual Studio Mac과 연동해 WPF, UWP, 네이티브 iOS 및 Xamarin.Forms를 사용한 Android 앱을 개발하기 위한 매우 생산적인 개발자 워크플로우를 지원한다. 코드 스니펫, 아이템 템플릿, 프로젝트 템플릿을 사용해 빠르게 프리즘 앱 제작을 시작할 수 있다. 현재 다음과 같은 도구를 사용할 수 있다. Prism Template Pack Prism Template Studio Prism Extensibility Pack Prism Template Pack 프리즘 템플릿 팩은 프리즘을 사용한 WPF 및 Xamarin.Forms 개발을 위한 여러 코드 스니펫, 아이템 템플릿 및 프로젝트 템플릿을 포함하고 있다. Snippets propp - Property, with a backing field, that depends on BindableBase private string _fieldName ; public string PropertyName { get { return _fieldName ; } set { SetProperty ( ref _fieldName , value ) ; } } cmd - Creates a DelegateCommand property with Execute method private DelegateCommand _fieldName ; public DelegateCommand CommandName = > _fieldName ? ? ( _fieldName = new DelegateCommand ( ExecuteCommandName ) ) ; void ExecuteCommandName ( ) { } c...

프리즘 프레임워크 시작하기

프리즘 프레임워크 시작하기 프리즘 다운로드 및 설치 이번 글에서는 프리즘을 다운로드하고 설치하는 방법을 의역해 옮기도록 하겠다. 전체적인 프리즘 릴리즈 노트는 깃헙 페이지 에서 확인할 수 있다. 프리즘 소스 코드 다운로드 및 셋업 프리즘 소스 코드에서 셋업을 진행하기 위해서는 다음과 같은 단계를 따른다. 시스템 요구 사항 설치 프리즘 소스 코드 및 문서 다운로드 및 압축 해제 컴파일 및 샘플 실행 1단계. 시스템 요구 사항 설치 프리즘은 윈도우 8 데스크탑, 윈도우 7, 비스타, 2008 OS에서 작동하도록 디자인되었다. 1 이 가이드에서 빌드된 WPF 앱은 .NET Framework 4.5를 필요로 한다. 1 2 프리즘 라이브러리를 사용하기 전, 다음과 같은 요구 사항이 설치되어야만 한다. .NET Framework 4.5 또는 그 이상의 버전 MS Visual Studio 2017 이상의 버전(2019 권장) 3 Prism.Forms를 사용하려면 Xamarin 워크로드가 반드시 설치되어야 함 4 2단계. 프리즘 소스 코드 및 문서 다운로드 및 압축 해제 프리즘 리포지토리 를 fork하면 손쉽게 진행할 수 있다. 샘플 코드는 다음과 같다. WPF 샘플 Xamarin.Forms 샘플 위 단계 대신 Prism 관련 NuGet 패키지 를 설치해도 된다. 3단계. 샘플 컴파일 및 실행 모든 샘플은 프리즘 NuGet 참조를 사용하므로 각 솔루션에서 직접 컴파일하고 실행할 수 있다. 문서가 구버전이라 이렇게 적혀 있으나 프리즘 8은 윈도우 10, 11을 지원하고 오히려 8.1 이하를 지원할 계획이 없다고 한다. ↩︎ ↩︎ 현재 시점의 최신 프리즘(버전 8)은 .NET 7에서도 잘 돌아간다. ↩︎ 글을 쓰는 현재 VS2022에서도 문제없이 잘 돌아간다. ↩︎ Visual Studio Installer에서 Xamarin 워크로드를 활성화하고 설치하면 된다. ↩︎ ...

WPF - 프리즘 프레임워크

WPF - 프리즘 프레임워크 C#/WPF. 불편해. Node.JS 개발을 하다 보니 WPF 개발이 참 난감해졌다. 예전에는 당연히 이 정도 기능을 코딩하려면 미리 만들어놓은 라이브러리가 없을 때 이만큼의 시간이 걸리는 건 당연하지 라고 생각했었는데, 리액트와 NextJS 등을 사용하다가 WPF 개발 쪽으로 돌아가려니 도저히 못해먹겠다 싶은 생각 뿐이었다. 아, 이건 이런 HTML 태그와 이런 CSS를 쓰면 쉽게 가능한데… 아, 저건 이러이러한 타입스크립트로 쉽게 되는데… 이런 경우가 너무 많이 생긴다는 것이다. 이럴 때 사용할 수 있는 라이브러리나 프레임워크가 있나 찾아보다가 발견하게 된 것이 프리즘이다. 일단, 아직 한 번도 프리즘을 사용해보지 않았으므로 공식 문서를 의역하면서 하나씩 알아가보고자 한다. Prism: XAML 앱용 프레임워크 프리즘은 느슨하게 결합된 관리와 테스트가 용이한 XAML 앱용 프레임워크이다. 1 프리즘을 사용하면 MVVM, DI, commands, EventAggregator 등등 여러 디자인 패턴들의 구현을 제공받게 된다. 대상 플랫폼 프리즘은 .NET Standard 및 .NET 4.5 또는 4.8 버전에서 사용할 수 있도록 크로스 컴파일되어 제공된다. 또한 WPF, Xamarin Forms, 버전 8의 경우 UNO에서 사용할 수 있다. 단, 8버전 이후로 Silverlight나 윈도우 8/8.1/윈도우 폰 8.1, UWP에 대한 지원 계획은 없다고 한다. 이 경우엔 이전 버전 을 사용하라고 권하고 있다. https://prismlibrary.com/docs/index.html ↩︎