Как начать работу с Castle-Windsor? - программирование

Как начать работу с Castle-Windsor?

Я совершенно новый с IoC/windsor. Я начал с Google, чтобы узнать это, но, к сожалению, у меня нет надлежащей документации, которая может быть проще для меня понять. поэтому я пришел сюда с таким названием/вопросами.

Каждый документ/страницы (веб-сайт), запуск чего-то подобного типа

"Мы должны начать с регистрации класса/интерфейса, а затем разрешить его..."

но ни одна страница не показывает полную документацию о том, как этого достичь, Я тоже пытался создать простой проект, но я не смог его запустить. Я не знаю, как разрешить контейнер, где/как вызвать install(), я полностью испорчен.

Может ли кто-нибудь помочь мне с типовым проектом, который включает полную демонстрацию регистрации/установки?

Заранее спасибо:)

4b9b3361

Ответ 1

Также Mark Seemann Dependency Injection in.NET - это хорошее место для начала. Хорошо написано и имеет главу о замке Виндзор.

У них также есть хорошие руководства по проекту кода, которые я использовал раньше:

UPDATE

Ну, самое упрощенное руководство будет следующим:

1) В VS2010 создайте новое консольное приложение

2) Щелкните правой кнопкой мыши "Ссылки", выберите "Управление пакетами NuGet", установите "Castle.Windsor"

3) Используйте код ниже для Program.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Castle.MicroKernel.Registration;
using Castle.Windsor;

namespace ExploringCastleWindsor
{
    internal class Program
    {
        interface ILogger
        {
            void Log(string message);
        }

        class Logger : ILogger
        {
            public void Log(string message)
            {
                Console.WriteLine(message);
            }
        }

        static void Main(string[] args)
        {
            // Registering
            var container = new WindsorContainer();
            container.Register(Component.For<ILogger>().ImplementedBy<Logger>());
            // Resolving
            var logger = container.Resolve<ILogger>();
            logger.Log("Hello World!");
        }
    }
}

Ответ 2

Также вы можете добавить Castle Windsor, используя

Инструменты → Диспетчер пакетов NuGet → Консоль диспетчера пакетов.

И чем просто наберите Install-Package Castle.Windsor

После того, как вы закончили с ассамблеями, вы можете пойти с кодом. Себастьян К - хороший пример рабочего кода.

Ответ 3

Если вы ищете учебное пособие, проверьте ссылка

В одном примере объясняются функции CastleWindsor, Nhibernate и UnitOfWork.