Esempio n. 1
0
        //static void Main(string[] args)
        //{
        //    var logger = new ConsoleLogger();
        //    var sqlConnectionFactory = new SqlConnectionFactory("SQL Connection", logger);
        //    var createUserHandler = new CreateUserHandler(new UserService(new QueryExecutor(sqlConnectionFactory),
        //                                                                    new CommandExecutor(sqlConnectionFactory),
        //                                                                    new CacheService(logger,
        //                                                                    new RestClient("API KEY"))), logger);

        //    createUserHandler.Handle();
        //    Console.ReadKey();
        //}

        //static void Main(string[] args)
        //{
        //    IKernel kernel = new StandardKernel();
        //    kernel.Bind<CreateUserHandler>().To<CreateUserHandler>();

        //    kernel.Bind<IConnectionFactory>()
        //        .ToConstructor(k => new SqlConnectionFactory("SQL Connection", k.Inject<ILogger>()))
        //        .InSingletonScope();
        //    kernel.Bind<ILogger>().To<ConsoleLogger>()
        //        .InSingletonScope();
        //    kernel.Bind<QueryExecutor>().To<QueryExecutor>();
        //    kernel.Bind<CommandExecutor>().To<CommandExecutor>();
        //    kernel.Bind<RestClient>()
        //        .ToConstructor(k => new RestClient("API KEY"));
        //    kernel.Bind<CacheService>().To<CacheService>();


        //    var createUserHandler = kernel.Get<CreateUserHandler>();

        //    createUserHandler.Handle();
        //    Console.ReadKey();
        //}

        static void Main(string[] args)
        {
            //IKernel kernel = new StandardKernel();
            //kernel.Bind<CreateUserHandler>().To<CreateUserHandler>();

            //kernel.Bind<IConnectionFactory>()
            //    .ToConstructor(k => new SqlConnectionFactory("SQL Connection", k.Inject<ILogger>()))
            //    .InSingletonScope();
            //kernel.Bind<ILogger>().To<ConsoleLogger>()
            //    .InSingletonScope();
            //kernel.Bind<QueryExecutor>().To<QueryExecutor>();
            //kernel.Bind<CommandExecutor>().To<CommandExecutor>();
            //kernel.Bind<RestClient>()
            //    .ToConstructor(k => new RestClient("API KEY"));
            //kernel.Bind<CacheService>().To<CacheService>();


            var myKernel = new MyKernel();

            myKernel.Bind <CreateUserHandler, CreateUserHandler>();
            myKernel.Bind <UserService, UserService>();
            myKernel.BindToConstructor <IConnectionFactory>(() => new SqlConnectionFactory("SQL Connection", myKernel.Get <ILogger>()));
            myKernel.Bind <ILogger, ConsoleLogger>();
            myKernel.Bind <QueryExecutor, QueryExecutor>();
            myKernel.Bind <CommandExecutor, CommandExecutor>();
            myKernel.BindToConstructor <RestClient>(() => new RestClient("API KEY"));
            myKernel.Bind <CacheService, CacheService>();


            var createUserHandler = myKernel.Get <CreateUserHandler>();

            createUserHandler.Handle();
            Console.ReadKey();
        }
Esempio n. 2
0
        //static void Main(string[] args)
        //{
        //    var logger = new ConsoleLogger();
        //    var sqlConnectionFactory = new SqlConnectionFactory("SQL Connection", logger);

        //    var createUserHandler = new CreateUserHandler(new UserService(new QueryExecutor(sqlConnectionFactory), new CommandExecutor(sqlConnectionFactory), new CacheService(logger, new RestClient("API KEY"))), logger);

        //    createUserHandler.Handle();
        //    Console.ReadKey();
        //}

        //static void Main(string[] args)
        //{
        //    IKernel kernel = new StandardKernel();

        //    kernel.Bind<ILogger>().To<ConsoleLogger>().InSingletonScope();
        //    kernel.Bind<IConnectionFactory>()
        //        .ToConstructor(k => new SqlConnectionFactory("SQL Connection", k.Inject<ILogger>()))
        //        .InSingletonScope();


        //    kernel.Bind<UserService>().To<UserService>();
        //    kernel.Bind<QueryExecutor>().To<QueryExecutor>();
        //    kernel.Bind<CommandExecutor>().To<CommandExecutor>();
        //    kernel.Bind<CacheService>().To<CacheService>();
        //    kernel.Bind<RestClient>().ToConstructor(k => new RestClient("API KEY"));

        //    kernel.Bind<CreateUserHandler>().To<CreateUserHandler>();
        //    var createUserHandler = kernel.Get<CreateUserHandler>();

        //    createUserHandler.Handle();

        //    Console.ReadKey();

        //}


        static void Main(string[] args)
        {
            var kernel = new MyKernel();

            kernel.Bind <ILogger, ConsoleLogger>(new ConsoleLogger());
            kernel.Bind <IConnectionFactory, SqlConnectionFactory>((SqlConnectionFactory)kernel.ToConstructor <SqlConnectionFactory>(
                                                                       new List <object>()
            {
                "SQL Connection", kernel.Inject <ILogger>()
            }));

            kernel.Bind <UserService, UserService>();
            kernel.Bind <QueryExecutor, QueryExecutor>();
            kernel.Bind <CommandExecutor, CommandExecutor>();
            kernel.Bind <CacheService, CacheService>();

            kernel.Bind <RestClient, RestClient>((RestClient)kernel.ToConstructor <RestClient>(new List <object>()
            {
                "API KEY"
            }));

            kernel.Bind <CreateUserHandler, CreateUserHandler>();
            var createUserHandler = kernel.Get <CreateUserHandler>();

            createUserHandler.Handle();
            Console.ReadKey();
        }
Esempio n. 3
0
        static void Main_2(string[] args)
        {
            var kernel = new MyKernel();

            kernel.Register <CreateUserHandler, CreateUserHandler>();
            kernel.Register <UserService, UserService>();
            kernel.Register <ILogger, ConsoleLogger>();
            kernel.Register <QueryExecutor, QueryExecutor>();
            kernel.Register <CommandExecutor, CommandExecutor>();

            kernel.Register <CacheService, CacheService>(new CacheService(kernel.Get <ILogger>(), new RestClient("API KEY")));
            kernel.Register <IConnectionFactory, SqlConnectionFactory>(new SqlConnectionFactory("SQL Connection", kernel.Get <ILogger>()));

            var createUserHandler = kernel.Get <CreateUserHandler>();

            createUserHandler.Handle();
        }