Bạn đề cập rằng dịch vụ của bạn có phụ thuộc.
Nếu bất kỳ sự phụ thuộc nào trong biểu đồ phụ thuộc của bạn không hoàn toàn không trạng thái, hoặc nếu một trong những phụ thuộc của bạn trong biểu đồ phụ thuộc của bạn sẽ được sửa đổi để không còn hoàn toàn không trạng thái nữa, thì toàn bộ hệ thống sẽ thất bại. Và các lỗi bạn nhận được có thể sẽ rất khó hiểu, do đó gây khó khăn cho việc phát hiện ra vấn đề.
Giả sử bạn là một nhóm các nhà phát triển làm việc trong dự án. Rất khó có khả năng mỗi người trong số họ đều biết rằng cấu hình IOC yêu cầu tất cả các thành phần này phải hoàn toàn không trạng thái. Họ có thể biết điều đó ngay bây giờ, nhưng nhận thức đó sẽ mờ dần theo thời gian. Và nếu bạn thuê một anh chàng mới, anh ấy / cô ấy cũng sẽ không nhận ra.
Vì vậy, tôi chắc chắn sẽ thiết lập bộ chứa IOC để trả về một thể hiện mới mỗi lần. Nó chỉ đơn giản là sự lựa chọn an toàn hơn, imho.
Tôi chắc chắn sẽ không lo lắng về tài nguyên. Chi phí xây dựng và thu gom rác của các đối tượng có lẽ không đáng kể so với ví dụ chỉ là một tra cứu cơ sở dữ liệu.