Dreamine.Core Ver.1.0.7
Loading...
Searching...
No Matches
Dreamine.MVVM.Core

Introduction

Dreamine.MVVM.Core is the lightweight infrastructure core of the Dreamine MVVM framework. It provides the minimal runtime foundation required for explicit architecture, constructor-based dependency resolution, and predictable application composition.

This module is intentionally small and focused. Its purpose is not to provide high-level UI behavior, but to establish the core dependency resolution and registration model used across the Dreamine ecosystem.

Main Components

  • DMContainer: Central lightweight dependency injection container
  • Factory-based registration model
  • Singleton instance registration and reuse
  • Constructor-based dependency resolution
  • Minimal infrastructure used by upper Dreamine modules

Key Features

  • Lightweight DI Container: Minimal registration and resolution mechanism
  • Explicit Registration: Avoids hidden magic and favors predictable behavior
  • Constructor-Based Resolution: Supports dependency composition through constructors
  • Singleton Support: Provides simple singleton caching and reuse
  • Framework-Oriented Core: Designed as the infrastructure base for higher-level Dreamine packages

Usage Example

// Register a service using a factory
DMContainer.Register<IMyService>(() => new MyService());
// Resolve a registered service
IMyService service = DMContainer.Resolve<IMyService>();
// Register a singleton instance
var singleton = new MyService();
DMContainer.RegisterSingleton<IMyService>(singleton);

Design Goals

Dreamine.MVVM.Core is designed around the following principles:

  • explicit behavior over hidden convention
  • low dependency surface
  • predictable constructor-based composition
  • simple extension points for upper-layer modules
  • maintainable and testable infrastructure structure

Related Modules

Dreamine.MVVM.Core is typically used together with:

  • Dreamine.MVVM.Interfaces
  • Dreamine.MVVM.ViewModels
  • Dreamine.MVVM.Locators
  • Dreamine.MVVM.Wpf

Project Structure

Requirements

  • .NET: net8.0

Version History

Date Version Author Description
2025-05-25 1.0.0 Jang Minsu Initial commit for Dreamine.MVVM.Core
2025-05-26 1.0.0 Jang Minsu Added initial README documentation
2025-05-26 1.0.1 Jang Minsu Started versioning from 1.0.1 due to existing NuGet.org lock on 1.0.0
2025-05-26 1.0.2 Jang Minsu Updated package release metadata for Dreamine.MVVM.Core 1.0.2
2025-05-30 1.0.3 Jang Minsu Refactored DI container behavior for improved Smart structure support
2025-06-01 1.0.4 Jang Minsu Removed unnecessary DMContainer debug logs and redundant object creation traces
2025-06-12 1.0.5 Jang Minsu Added singleton caching support to the DI container
2026-03-08 1.0.7 Jang Minsu Bootstrapped Dreamine MVVM Core package structure
2026-03-08 1.0.7 Jang Minsu Fixed Korean documentation link in README
2026-03-08 1.0.7 Jang Minsu Added LICENSE and .gitignore to repository

License

MIT License

Contact

Organization: Dreamine