Dreamine MVVM 프레임워크를 위한 WPF 전용 부트스트랩 및 런타임 통합 레이어입니다.
➡️ English Version
개요
Dreamine.MVVM.Wpf 는 Dreamine MVVM 애플리케이션에서 필요한 WPF 전용 시작 처리와 런타임 연결 로직을 담당합니다.
이 패키지의 책임은 다음과 같습니다.
- View ↔ ViewModel 자동 매핑 등록
- DMContainer 기반 자동 DI 등록
- View 로드 시 DataContext 자동 연결
- 플랫폼 중립 라이브러리와 WPF 런타임 책임 분리
왜 이 패키지가 필요한가
Dreamine.MVVM.Core 는 가능한 한 플랫폼 중립적으로 유지하는 것이 맞습니다.
하지만 FrameworkElement.Loaded, EventManager, View 런타임 바인딩 같은 요소는 명백한 WPF 전용 책임입니다. 이 책임들을 Core에 두면 계층이 흐려지고 대상 프레임워크도 WPF에 묶입니다.
그래서 WPF 전용 책임은 Dreamine.MVVM.Wpf 로 분리하는 구조가 맞습니다.
주요 타입
DreamineAppBuilder
DreamineAppBuilder 는 WPF 애플리케이션 시작 시 Dreamine MVVM 런타임을 초기화하는 진입점입니다.
내부적으로 다음 작업을 수행합니다.
- View ↔ ViewModel 매핑 등록
- DMContainer 자동 등록 수행
- WPF Loaded 이벤트를 연결하여 필요한 경우 DataContext 자동 주입
사용 방법
애플리케이션 시작 시점에 DreamineAppBuilder.Initialize(...) 를 한 번 호출하면 됩니다.
using System.Reflection;
using System.Windows;
namespace SampleApp;
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
}
}
Dreamine 앱 구동을 위한 초기화 도우미입니다.
static void Initialize(Assembly rootAssembly)
Dreamine MVVM WPF 런타임을 초기화합니다. View-ViewModel 자동 매핑, DI 자동 등록, Loaded 시점의 ViewModel 자동 주입을 구성합니다.
프로젝트 역할 분리 기준
권장 책임 분리는 다음과 같습니다.
- Dreamine.MVVM.Core
- 컨테이너
- 커맨드 인프라
- 플랫폼 중립 MVVM 런타임 지원
- Dreamine.MVVM.ViewModels
- Dreamine.MVVM.Locators
- Dreamine.MVVM.Wpf
- WPF 시작 처리 / 부트스트랩 / 런타임 연결
대상 프레임워크
라이선스
MIT License