DevSight

WPF Dependency Injection

기본적으로 ASP.NET Core는 클래스와 해당 종속성 간의 IoC(Inversion of Control)를 실현하는 기술인 DI(종속성 주입) 소프트웨어 디자인 패턴을 지원1한다.

Desktop 애플리케이션 개발에 자주 사용하는 WPF는 개발자가 직접 작성하여 추가하거나 또는 MVVM 패턴을 지원하는 Caliburn.Micro2와 같은 프레임워크를 사용하여 DI(종속성 주입) 환경을 구축한다.

WPF를 이용한 개발에 DI를 적용하는 기본적인 환경 구성을 Microsoft.Extensions.Hosting 패키지를 이용(IHost Interface3)하여 구축할 수 있다.

App.xaml
1
2
3
4
5
6
7
<Application x:Class="ExamHelloDI.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <!-- StartupUri="MainWindow.xaml" : 기본값 제거-->
    <Application.Resources>
    </Application.Resources>
</Application>
Read More ···