injectify
injectify copied to clipboard
Dependency injection packages for UWP projects.
UWP Dependency Injection
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>