main
 1using System;
 2using Gorilla.Commons.Infrastructure.Container;
 3using gorilla.commons.infrastructure.thirdparty.Castle.DynamicProxy;
 4using gorilla.commons.utility;
 5
 6namespace gorilla.commons.infrastructure.thirdparty
 7{
 8    public interface DependencyRegistration : Builder<DependencyRegistry>
 9    {
10        void singleton<Contract, Implementation>() where Implementation : Contract;
11        void singleton(Type contract, Type implementation);
12        void singleton<Contract>(Func<Contract> instance_of_the_contract);
13
14        void transient<Contract, Implementation>() where Implementation : Contract;
15        void transient(Type contract, Type implementation);
16        void transient<Contract>(Func<Contract> factory_method);
17
18        [Obsolete]
19        void proxy<T, Configuration>(Func<T> target) where Configuration : Configuration<ProxyBuilder<T>>, new();
20    }
21}