injectify icon indicating copy to clipboard operation
injectify copied to clipboard

Dependency injection packages for UWP projects.

UWP Dependency Injection

Injectify is released under the MIT license.

Dependency injection packages for the UWP projects.

Contents

  • About
  • Quick Start
  • Folder Structure
  • Code Samples
  • Migration Guide
  • Release Versioning

About

Injectify is a useful tool for building robust, resilient bridge between a DI framework and a UWP app. It helps to define, register all dependencies in one place and later on inject them into components. Project was inspired by ASP.NET Core, Nest.js, UWP-IoC.

Quick start

Install package with a DI dependent framework (other common packages like Injectify.Abstractions and Injectify will be installed as peer dependencies under the hood). For the versions lower than 0.4.0 please reference the detailed guide.

List of available packages

Microsoft.Extensions.DependencyInjection:

dotnet add package Injectify.Microsoft.DependencyInjection

Autofac:

dotnet add package Injectify.Autofac

Folder Structure

Project is structured using a monorepo approach, contains a bunch of interlinked packages. Here is detailed folder structure:

Injectify consists of a 2 main packages with a common code:

  • Injectify - DI framework agnostic common helpers and implementations.
  • Injectify.Abstractions - abstractions for UWP application and internal interfaces.

Additional packages dependent on a specific DI framework:

  • Injectify.Microsoft.DependencyInjection (Microsoft.Extentions.DependencyInjection)
  • Injectify.Autofac (Autofac)

Code Samples

Reference our code samples of how to use DI using Injectify. Samples are split by a major version and include detailed explanation of breaking changes which were introduced from version to version.

Migration Guide

Please follow up our migration guide here if you stuck with any issue or need some guidance for migration to the higher versions.

Release Versioning

Injectify follows synchronous updates strategy for all packages during the release. Always try to install the same versions of:

  • Injectify.Abstractions,
  • Injectify,
  • Injectify.<di_framework>