2010-01-09 42 views

Trả lời

15

Không có Castle.Windsor hoặc Spring.NET là mới.

  • Lâu đài Windsor đã được khoảng từ cuối năm 2004
  • Spring.NET đã được khoảng từ đầu 2006

Họ là hai so sánh DI Container mà chủ yếu nhằm mục đích cung cấp các dịch vụ tương tự, vì vậy bạn không cần phải học cái này trước cái kia, và bạn cũng không cần tham khảo bất kỳ loại đặc tả nào khi sử dụng cái nào.

Tôi đã sử dụng Castle Windsor trong khoảng nửa năm và tôi thường hài lòng với nó. Spring.NET Tôi chưa xem xét, nhưng có vẻ như nó là very closely tied to the configuration system và không hỗ trợ đăng ký có lập trình, và nếu điều này là đúng, đó sẽ là một nhược điểm lớn trong mắt tôi.

Castle Windsor và Spring.NET không phải là DI Containers duy nhất có sẵn cho .NET. Dưới đây là một danh sách lớn hơn:

4

Tôi là một trong những committers đến dự án Castle (bao gồm Windsor) nên tôi có thể thiên vị, nhưng.

Windsor rất dễ mở rộng, cho phép bạn điều chỉnh và uốn cong nó theo nhu cầu của bạn. Nó cung cấp API đăng ký thông thạo tốt đẹp để bạn không phải viết tấn XML. Ngoài ra còn có rất nhiều phần mở rộng mà bạn có thể sử dụng để tích hợp Windsor với các khung công tác khác, như các khung giao tiếp ORMs (WCF, NServiceBus), v.v.

Cộng với nó có một cộng đồng rất tích cực và đáp ứng, vì vậy nếu bạn có bất kỳ câu hỏi nào, sẽ được trả lời khá nhanh chóng hầu hết thời gian.

+4

Nếu bạn tham gia vào dự án lâu đài, bạn phải biết lý do số một mà bạn có một cộng đồng năng động và đáp ứng có lẽ là do tài liệu của bạn quá kinh khủng.So sánh tài liệu giữa hai khung là không có cuộc thi ... Spring.net có một liên kết đến một cuốn sách 500 trang được viết cho phiên bản phát hành hiện tại của phần mềm. Tìm ra cách Castle hoạt động là một nỗi đau (đặc biệt là Windsor cho đến nay). – wllmsaccnt

+0

@wllmsaccnt Tôi mới đến Windsor và tôi đồng ý. Windsor tài liệu là khủng khiếp. –

+0

@ wllmsaccnt @theneoindian Hai điểm để làm rõ ở đây. Một, tài liệu của Windsor đã được viết lại từ những căn cứ kể từ năm 2010. Một tài liệu khác, nếu một công cụ có nghĩa vụ đơn giản hóa cuộc sống của bạn yêu cầu hướng dẫn sử dụng 500p bạn có thể làm sai. –

2

Tôi đoán cả hai đều tốt hơn về cấu hình. Không có nhiều khác biệt nhưng cả hai đều tốt hơn khung Unity. Tại sao địa ngục bạn cần hiệp hội marshalbyrefobject trong kiểm soát phụ thuộc. Nhưng nếu chúng ta so sánh spring.net và Castle Windsor cả hai đều tốt. Nhưng câu hỏi đến là cái nào là khung chứa hoàn chỉnh. Giống như chúng ta cần các khía cạnh để xác nhận về sự phụ thuộc. Vì vậy, tiện ích winsor thất bại. Tôi đoán nó là ngu ngốc để so sánh String.net với Castle Windsor hoặc bất cứ điều gì như vậy bởi vì tất cả đều là tiện ích và mùa xuân là khung chứa hoàn chỉnh. Và tất cả những người nói nặng, hãy kiểm tra vấn đề rò rỉ bộ nhớ với tất cả. Đó không phải là mùa xuân hay lâu đài Windsor, đó là cách viết mã ngu ngốc. Vì vậy, cuối cùng câu trả lời là nếu bạn chỉ cần DI sử dụng Windsor nhưng nếu bạn cần khuôn khổ hoàn chỉnh cho bất kỳ giải pháp sử dụng spring.net.

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