2009-09-04 45 views

Trả lời

23

Tất cả các nhà xây dựng có sẵn được mô hình hóa làm ứng cử viên và về cơ bản cuộc thi được thực hiện trong số đó.

Mỗi tham số trong hàm tạo đại diện cho một phụ thuộc có thể thỏa mãn hay không. Đối với mỗi ứng viên hàm tạo, tất cả các phụ thuộc được phân tích.

Nếu phụ thuộc có thể thỏa mãn, đó là hai điểm cho ứng cử viên. Nếu không thể thỏa mãn, hai điểm sẽ bị trừ khỏi ứng cử viên.

Ứng viên hàm tạo có nhiều điểm nhất sẽ thắng và được chọn để khởi tạo thành phần.

Mã cho thuật toán này là here.

+0

Cảm ơn thông tin ... –

+0

Cảm ơn thông tin Mauricio. Tôi đang gặp "vấn đề" với Windsor trong một dự án liên quan đến S # arpArch và điều đó giúp ích rất nhiều! – WillCodeForCoffee

+0

Rất tốt Said! Tôi tìm thấy một liên kết này trên một cái gì đó tương tự mà nói về vấn đề vốn có với các nhà thầu quá tải ở vị trí đầu tiên trong các thành phần của bạn khi bạn đang sử dụng DI container để nhanh chóng lớp học của bạn: http://stackoverflow.com/questions/7926686/castle- windsor-force-resolver-to-use-quy định-constructor – RBT

1

Castle Windsor sẽ sử dụng hàm tạo có nhiều tham số nhất mà phụ thuộc của nó có thể giải quyết.

Khi có hai hàm tạo có cùng số tham số mà Windsor có thể giải quyết, hành vi được sử dụng dường như tùy ý nhưng có thể đã được sửa.

Xem post này bằng cách Krzysztof Kozmic

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