[Prism] 005. Prism 설치 및 초기 설정, Visual Studio에서의 기본 프로젝트 설정

005. Prism 설치 및 초기 설정, Visual Studio에서의 기본 프로젝트 설정

WPF(Windows Presentation Foundation) 애플리케이션 개발에 있어 Prism 프레임워크는 매우 유용한 도구입니다. Prism은 모듈화, MVVM(모델-뷰-뷰모델) 패턴, 의존성 주입 등과 같은 고급 애플리케이션 디자인 패턴을 지원하여 개발자가 복잡한 애플리케이션을 효율적으로 구축할 수 있도록 도와줍니다. 이번 글에서는 Prism을 설치하고 초기 설정을 수행한 후, Visual Studio에서 기본 프로젝트를 설정하는 과정을 자세히 설명하겠습니다.

1. Prism 설치

Prism은 NuGet 패키지로 쉽게 설치할 수 있습니다. Visual Studio에서 Prism을 설치하려면 다음 단계를 따르세요.

  1. Visual Studio를 열고, 새 WPF 애플리케이션 프로젝트를 생성합니다. 2022년 이상의 Visual Studio 버전을 사용하는 것이 좋습니다. 프로젝트 템플릿을 선택할 때 .NET Core 혹은 .NET 5/6/7를 기반으로 하는 WPF 애플리케이션을 선택합니다.

  2. 프로젝트가 생성되면, 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔을 선택합니다.

  3. 패키지 관리자 콘솔에 다음 명령을 입력하여 Prism 패키지를 설치합니다:

    Install-Package Prism.Unity

    이 명령은 Prism의 Unity 의존성 주입 컨테이너를 설치합니다. 다른 DI 컨테이너를 사용하고 싶다면 적절한 패키지를 선택하여 설치할 수 있습니다.

2. 초기 설정

Prism을 설치한 후, 몇 가지 초기 설정을 수행하여 애플리케이션 구조를 정의해야 합니다.

  1. App.xaml 파일을 열고, Application 태그의 StartupUri 속성을 제거합니다. 우리는 Prism의 Bootstrapper를 사용할 것이기 때문에 기본 설정을 변경할 필요가 있습니다.

    <Application x:Class="MyPrismApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" />
  2. App.xaml.cs 파일을 열고, Prism의 PrismApplication 클래스를 상속받은 새로운 부트스트래퍼 클래스를 생성합니다:

    public partial class App : PrismApplication
    {
        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {
            // 서비스 등록
        }
    
        protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
        {
            // 모듈 등록
        }
    
        protected override void OnInitialized()
        {
            base.OnInitialized();
            NavigationService.NavigateAsync("MainPage");
        }
    }

3. 기본 프로젝트 설정

다음으로는 프로젝트의 기본 구조를 설정하고, 필요한 모듈 및 페이지를 생성하는 과정을 살펴보겠습니다.

  1. 주 페이지가 될 MainPage.xaml을 생성합니다. 솔루션 탐색기에서 마우스 오른쪽 버튼 클릭 후, 추가 > 새 항목을 선택해 WPF 페이지를 추가합니다.

    <Page x:Class="MyPrismApp.Views.MainPage"
                      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                      Title="MainPage">
        <Grid>
            <TextBlock Text="Hello, Prism!" FontSize="36" HorizontalAlignment="Center" VerticalAlignment="Center"/>
        </Grid>
    </Page>
  2. MVVM 패턴을 적용하기 위해 MainPageViewModel 클래스를 생성합니다. 이 클래스는 페이지의 로직과 데이터 바인딩을 담당하게 됩니다:

    public class MainPageViewModel : BindableBase
    {
        private string _title;
        public string Title
        {
            get { return _title; }
            set { SetProperty(ref _title, value); }
        }
    
        public MainPageViewModel()
        {
            Title = "Welcome to Prism!";
        }
    }
  3. ViewModel과 View를 연결하기 위해, XAML 코드에서 DataContext를 설정합니다:

    <Page.DataContext>
        <local:MainPageViewModel />
    </Page.DataContext>
  4. 마지막으로, Prism의 모듈 시스템을 활용하기 위해, 새로운 프로젝트를 추가하여 모듈을 구성합니다. 이 경우, 새로운 Class Library 프로젝트를 추가하고 Prism 모듈을 구현할 수 있습니다.

    public class MyModule : IModule
    {
        private readonly IContainerProvider _containerProvider;
    
        public MyModule(IContainerProvider containerProvider)
        {
            _containerProvider = containerProvider;
        }
    
        public void OnInitialized()
        {
            // 초기화 과정
        }
    
        public void RegisterTypes(IContainerRegistry containerRegistry)
        {
            // 타입 등록
        }
    }

4. 결론

이제 Prism을 설치하고 초기 설정을 수행하여 Visual Studio에서 기본 프로젝트를 설정하는 방법을 알아보았습니다. Prism은 WPF 애플리케이션 개발시 모듈화되고 유지보수하기 쉬운 구조를 제공하므로, 큰 애플리케이션을 개발할 때 강력한 도구가 됩니다. 다음 글에서는 Prism의 더 많은 기능과 활용 사례에 대해 다루어 보겠습니다.

Prism을 통해 WPF 애플리케이션의 복잡성을 줄이고, 더 나은 구조와 유지보수성을 가진 애플리케이션을 만들어 보세요.