19

私は IoC/windsor をまったく使用していません。私はそれを学ぶために Google を使い始めましたが、残念ながら、私にとって理解しやすい適切なドキュメントがありません。だから私はこのようなタイトル/質問でここに来ました.

すべてのドキュメント/ページ(ウェブ)、このようなものを開始

「クラス/インターフェースの登録から始めて、それを解決する必要があります...」

しかし、それを達成する方法に関する完全なドキュメントを示すページはありません。簡単なプロジェクトも作成しようとしましたが、実行できませんでした。container を解決する方法、install() を呼び出す場所/方法がわかりません。完全にめちゃくちゃです。

登録/インストールの完全なデモンストレーションを含むサンプル プロジェクトを手伝ってくれる人はいますか?

前もって感謝します :)

4

3 に答える 3

22

また、Mark Seemann の .NETブックでの Dependency Injectionは、開始するのに適した場所です。よく書かれており、特にウィンザー城に関する章があります。

彼らはまた、私が以前に使用したコードプロジェクトに関するいくつかの優れたチュートリアルを持っています:

アップデート

最も単純なチュートリアルは次のようになります。

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!");
        }
    }
}
于 2013-02-02T21:04:31.480 に答える