Tôi đã sử dụng IoC trong một thời gian ngắn và tôi tò mò nếu tôi nên sử dụng khung công tác Unity của Microsoft (tên chính thức là "Unity Application Block"). Có ai có kinh nghiệm sử dụng nó? Vì vậy, tôi đã sao chép mã vùng chứa IoC của tôi từ dự án đến dự án, nhưng tôi nghĩ sẽ tốt hơn nếu sử dụng tiêu chuẩn nào đó. Tôi nghĩ IoC có thể tạo ra sự khác biệt lớn trong việc giữ các ứng dụng dựa trên thành phần lỏng lẻo và do đó có thể thay đổi nhưng tôi không phải là một chuyên gia về IoC, vì vậy tôi lo lắng để chuyển sang một khuôn khổ. một ngày nào đó sẽ muốn rời xa.Khung Unity có tốt cho Inversion of Control không?
Trả lời
Tôi muốn nói với người bạn biết cho đến khi bạn cảm thấy tự tin với nó và toàn bộ khái niệm. Sau những gì bạn sẽ có một phán quyết tốt hơn để chọn một khuôn khổ đầy đủ nhu cầu của bạn.
Tôi đã chơi với CompositeWPF (còn gọi là Prism) - kế thừa của khối ứng dụng Tổng hợp. Từ kinh nghiệm của tôi, Unity hoạt động tốt hơn nhiều so với phiên bản trước của ObjectBuilder. Tuy nhiên, tùy thuộc vào bạn để đánh giá các khuôn khổ IoC và chọn một khung phù hợp cho nhu cầu của bạn.
Tôi đang sử dụng Unity không có vấn đề thực sự. Tôi biết một vài người ALT.NET loại cảnh báo chống lại Unity nhưng tôi thực sự nghĩ rằng đó là chỉ vì lịch sử đội MS P & P có viết bloatware. Unity chưa đầy IMO và hoạt động tốt.
Tôi đã xem xét khung Unity, nhưng thấy nó hơi "quá lớn" cho nhu cầu của tôi (không, tôi không thể định lượng được điều đó, dường như nó đòi hỏi nhiều kiến thức hơn rằng các khung công tác khác Tôi đã chơi với ... điều này đã được một thời gian trước đây nên có thể nó đã thay đổi khi Unity được phát triển/tinh tế).
Khuôn khổ IoC/phụ thuộc hiện tại của tôi là Ninject. Nó nhanh chóng, nhanh chóng và tôi đã có thể đọc từ các hướng dẫn (khoảng 10 phút) để sử dụng nó trong một dự án đã tồn tại trong khoảng hai giờ.
Nếu bạn đang tìm kiếm một cách sạch sẽ để thực hiện tiêm phụ thuộc, tôi khuyên bạn nên kiểm tra nó ra.
- 1. Inversion of Control <Dependency Injection
- 2. Sự khác nhau giữa Inversion of Control và Dependency injection trong C++ là gì?
- 3. Ai đó có thể giải thích về Microsoft Unity?
- 4. Có khung MVVM/MVP/MVC tốt cho JavaFX không?
- 5. Unity Khung IoC với constructor mặc định
- 6. Có TryResolve trong Unity không?
- 7. Tôi có nên triển khai IDisposable cho User Control không?
- 8. XSLT copy-of không có con
- 9. Có khung ứng dụng Java tốt hơn Swing không?
- 10. Ninject vs Unity cho DI
- 11. Tôi có thể chuyển các tham số hàm tạo cho phương thức Resolve() của Unity không?
- 12. Có bất kỳ khung kiểm tra Đơn vị tốt nào cho Ada không?
- 13. Unity và ASP.NET WebForms - Không có hàm tạo tham số nào được định nghĩa cho đối tượng này
- 14. Hiển thị Lots Of RichText: Chọn lựa chọn tốt nhất
- 15. OnApplyTemplate không được gọi trong Custom Control
- 16. MEF có phải là khung tiêm phụ thuộc không?
- 17. cách tốt nhất để Di chuyển đến End of ScrollViewer
- 18. Unity PerThreadLifetimeManager and Tasks
- 19. WPF - Thực hành tốt nhất cho run-of-the-mill [Nhãn: Đầu vào] Điều khiển
- 20. unity hoặc unity.mvc4 cho ứng dụng MVC4
- 21. Có '?' Flow Control trong Python?
- 22. Thư viện Java tốt cho gắn thẻ Parts-Of-Speech là gì?
- 23. Benifits of awakeFromNib?
- 24. Hướng dẫn tốt cho khung công tác trò chơi awe6?
- 25. Không có thanh thực đơn trong Xmonad với Ubuntu Unity
- 26. Chrome/Firefox thay thế cho TWebBrowser Control
- 27. Unity GET/POST Wrapper
- 28. Có gói Nuget nào để định cấu hình ứng dụng WCF cho Unity IOC không?
- 29. Có thể có một Array of hstore trong PostgreSQL
- 30. Tôi có thể tắt control-C được không?