diff --git a/PatternDemo2/Program.cs b/PatternDemo2/Program.cs index 232b0a1..d969d84 100644 --- a/PatternDemo2/Program.cs +++ b/PatternDemo2/Program.cs @@ -6,6 +6,8 @@ namespace PatternDemoCore public class Entity { + public delegate Entity Factory(); + private static Random random = new Random(); private int number; @@ -22,16 +24,17 @@ namespace PatternDemoCore public class ViewModel { - private readonly IContainer container; + private readonly Entity.Factory entityFactory; - public ViewModel(IContainer container) + public ViewModel(Entity.Factory entityFactory) { - this.container = container; + this.entityFactory = entityFactory; } public void Method() { - var entity = container.Resolve(); + var entity = entityFactory(); + Console.WriteLine(entity); } } @@ -40,7 +43,16 @@ namespace PatternDemoCore { static void Main(string[] args) { - Console.WriteLine("Hello World!"); + var cb = new ContainerBuilder(); + cb.RegisterType().InstancePerDependency(); + cb.RegisterType(); + + var container = cb.Build(); + var vm = container.Resolve(); + + vm.Method(); + vm.Method(); + } } }