Tôi thấy rất nhiều bài báo nói rằng IoC và DI tuyệt vời như thế nào và không có gì về lý do tại sao nó không tuyệt vời như vậy vì nó có thể làm cho mã phức tạp hơn. Tôi cũng thấy rằng IoC không nên nằm trong phần cốt lõi của mã của bạn mà là phần lớn cho các thư viện và các trình cắm thêm. Các bài viết thường là một tham chiếu nhỏ về cách hai mẫu có thể làm cho mã phức tạp hơn nhưng không nhiều về chi tiết về điều đó. Đó là câu hỏi của tôi - nơi cụ thể bạn không nên sử dụng những mẫu này?Khi nào không sử dụng IoC và DI?
Đây là chủ đề hay: What is Inversion of Control?. Nếu bạn nhìn xa hơn, có một bài đăng về trình kiểm tra chính tả và một bài đăng khác về cách IoC có thể không phải là một sử dụng tốt ở đó nếu nó chỉ là một trình kiểm tra chính tả. Như một hướng dẫn chung, nên IoC không được sử dụng của tôi đã bao giờ chỉ có một lớp cụ thể cho giao diện? Có nghĩa là tôi có IMyClass. Và sau đó chỉ có MyClassA cụ thể triển khai IMyClass. Tại sao tôi muốn IoC ở đó?
Nếu tôi có MyClassA, MyClassB và MyClassC, mỗi người thực hiện IMyClass, đó có lẽ là ứng cử viên tốt cho IoC đúng không?
Từ cùng một sợi, không ai biết những gì bài này có nghĩa là:
- Inversion of Control = Hôn nhân
- IOC container = Vợ
Nếu bạn chưa đọc nó, tôi cũng khuyên bạn nên đọc bài viết của IoC/DI của Martin Fowler: http://martinfowler.com/articles/injection.html –
Tôi đã đọc nó và nó vô ích cho câu hỏi của tôi. – 4thSpace
có lẽ tương tự Mariage/Vợ là "vợ là một thực hiện cụ thể của hôn nhân"? :) Có nhiều container IOC khác nhau, nhưng Inversion of Control là một khái niệm – Prokurors