Skip to content

vladhrapov/injectify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UWP Dependency Injection

Injectify is released under the MIT license.

Dependency injection packages for the UWP projects.

Contents

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>