PageRenderTime 81ms CodeModel.GetById 40ms app.highlight 1ms RepoModel.GetById 39ms app.codeStats 0ms

/src/LinFu.IoC/Configuration/Interfaces/IFactoryBuilder.cs

http://github.com/philiplaureano/LinFu
C# | 22 lines | 9 code | 1 blank | 12 comment | 0 complexity | ba499e60970050a1a835740a1af96ada MD5 | raw file
 1using System;
 2using LinFu.IoC.Interfaces;
 3
 4namespace LinFu.IoC.Configuration.Interfaces
 5{
 6    /// <summary>
 7    ///     Represents a class that can generate <see cref="IFactory" /> instances
 8    ///     from a given service type, implementing type, and lifecycle.
 9    /// </summary>
10    public interface IFactoryBuilder
11    {
12        /// <summary>
13        ///     Generates a <see cref="IFactory" /> instance that can create the <paramref name="serviceType" />
14        ///     using the <paramref name="implementingType" /> and <paramref name="lifecycle" /> model.
15        /// </summary>
16        /// <param name="serviceType">The service type that will be created by the factory.</param>
17        /// <param name="implementingType">The concrete type that will provide the implementation for the service type.</param>
18        /// <param name="lifecycle">The instancing behavior of the given service type.</param>
19        /// <returns>A valid <see cref="IFactory" /> instance.</returns>
20        IFactory CreateFactory(Type serviceType, Type implementingType, LifecycleType lifecycle);
21    }
22}