Using Unity in Applications

This topic describes how to develop applications using Unity, and how to create and build instances of objects. It assumes that you understand how to configure the Unity container. This section includes the following topics:

  • Application Design Concepts with Unity. This topic explains how Unity can help you to implement common design patterns and achieve decoupling and coherence in your designs.
  • Adding Unity to Your Application. This topic describes how to add Unity to your project, and how to reference the appropriate assemblies in your code.
  • Resolving Objects. This topic contains a series of sections that describe how you can resolve objects through the Unity container so that it creates the appropriate type and optionally populates any dependencies specified for these types.
  • Understanding Lifetime Managers. This topic describes the way that Unity manages the lifetime of objects it creates, and how you can use the lifetime managers included with Unity.
  • Using Container Hierarchies. This topic explains how you can use a hierarchy of nested Unity containers to achieve finely grained control over the configuration of Unity and manage this configuration at run time.

For information on how to configure Unity, see Configuring Unity.

Unity ships as both source code and signed binary assemblies. You can use the signed assemblies directly. If you intend to compile the source code, see Target Audience and System Requirements.