2013-02-02 38 views
15

Tôi hoàn toàn mới với IoC/windsor. Tôi bắt đầu với Google để tìm hiểu nó, nhưng thật không may, tôi không có tài liệu phù hợp để dễ hiểu hơn. vì vậy tôi đến đây với tiêu đề/câu hỏi này.Làm thế nào để bắt đầu với Castle-Windsor?

Mỗi tài liệu/trang (web), Bắt đầu từ một cái gì đó tương tự như thế này

"Chúng ta nên bắt đầu từ việc đăng ký các lớp/giao diện sau đó giải quyết nó ..."

nhưng không ai trong số trang này hiển thị tài liệu đầy đủ về cách đạt được điều đó, Tôi cũng đã cố tạo một dự án đơn giản, nhưng tôi đã không thể chạy nó. Tôi không biết làm thế nào để giải quyết container, nơi/làm thế nào để gọi cho install(), tôi hoàn toàn sai lầm.

Có ai có thể giúp tôi với dự án mẫu bao gồm trình diễn hoàn chỉnh đăng ký/cài đặt không?

Cảm ơn trước :)

Trả lời

15

Cũng Mark Seemann's Dependency Injection in .NET cuốn sách là một nơi tốt để bắt đầu. Cũng viết và có một chương về Castle Windsor đặc biệt.

Họ cũng có một số good tutorials on code project, tôi sử dụng trước đó:

CẬP NHẬT

Vâng, các hướng dẫn đơn giản nhất sẽ là như sau:

1) Trong VS2010 tạo ra ứng dụng giao diện điều khiển mới

2) Nhấp chuột phải vào "Tham khảo", chọn "Quản lý gói NuGet", cài đặt Castle.Windsor

3) Sử dụng mã dưới đây để biết 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!"); 
     } 
    } 
} 
+0

Cảm ơn sách, tôi đã thực hiện các hướng dẫn đó nhưng tiếc là không thể tích hợp tất cả các khái niệm này cùng một lúc. plz cung cấp cho tôi một dự án hoàn chỉnh đơn giản :) –

+0

@RameshKarn Xem câu trả lời cập nhật của tôi, xem nếu nó giúp :) –

+0

Cảm ơn rất nhiều, nó giúp tôi rất nhiều :), nhưng tôi có một số vấn đề khi tôi thực hiện một số thay đổi trong nó, xin vui lòng kiểm tra liên kết này http: // stackoverflow.com/questions/14669756/console-writeline-is-not-working-after-resolve –

0

Ngoài ra bạn có thể thêm Lâu đài Windsor sử dụng

Tools -> NuGet Package Manager -> Package Manager Console.

Và hơn chỉ cần gõ Install-Package Castle.Windsor

Sau khi bạn thực hiện với assamblies bạn tốt để đi với mã. Sebastian K cung cấp một ví dụ điển hình về mã làm việc.

0

Nếu bạn đang tìm kiếm một hướng dẫn, kiểm tra việc này link

Nó được giải thích CastleWindsor, Nhibernate và UnitOfWork trong một ví dụ.

Các vấn đề liên quan