Vì vậy, công ty của tôi sử dụng Castle Windsor IoC container, nhưng theo một cách mà cảm thấy "off":Chúng ta có đang sử dụng IoC một cách hiệu quả không?
- Tất cả các kiểu dữ liệu đã được đăng ký trong mã, không phải là tập tin cấu hình.
- Tất cả các loại dữ liệu đều được mã hóa cứng để sử dụng một triển khai giao diện. Trong thực tế, đối với gần như tất cả các giao diện nhất định, có và sẽ chỉ bao giờ được thực hiện một.
- Tất cả các kiểu dữ liệu đã đăng ký đều có hàm khởi tạo mặc định, vì vậy Windsor không tạo biểu đồ đối tượng cho bất kỳ loại đăng ký nào.
Những người thiết kế hệ thống này nhấn mạnh container IoC làm cho hệ thống tốt hơn. Chúng tôi có hơn 1200 lớp học công khai, do đó hệ thống lớn của chúng tôi là loại mà bạn muốn mong đợi để tìm một khuôn khổ như Windsor. Nhưng tôi vẫn hoài nghi.
Công ty của tôi có sử dụng IoC hiệu quả không? Có một lợi thế cho các đối tượng mới với Windsor hơn các đối tượng mới với từ khóa new
không?
+1, + câu trả lời: có vẻ như bạn đã đóng đinh nó. Lúc đầu, tôi nghĩ IoC đã thêm một lớp không cần thiết của mã hóa, khi thực tế vấn đề thực sự là chúng ta không thực sự quản lý các phụ thuộc một cách chính xác.Và có, chúng tôi thực sự có một lớp tĩnh gọi là ServiceLocator, và về cơ bản nó được sử dụng như một sự thay thế cho các nhà xây dựng. Bài viết của bạn đã được chuyển tiếp xung quanh và tôi hy vọng sẽ thấy một số cải tiến trong tương lai không xa. Nhiều đánh giá cao :) – Juliet
Mark quá khiêm tốn để đề cập đến nó, nhưng bạn cũng có thể kiểm tra các cuốn sách ông viết về chủ đề này rất: http://manning.com/seemann –
+1 - câu trả lời này bao gồm các khía cạnh chính xác, tôi xóa câu trả lời của tôi – Sunny