Khi giao dịch với các đối tượng yêu cầu dữ liệu chỉ được biết khi chạy, chẳng hạn như tên người dùng và mật khẩu, nơi cần phản đối sự kiện: bằng cách sử dụng mới, trong nhà máy hoặc trong vùng chứa DI?DI container, nhà máy, hoặc mới cho các vật thể tạm thời?
Ví dụ, tôi có thể chỉ new
một đối tượng một lần tôi có dữ liệu:
UserCredentials creds =
new UserCredentials(dialog.getUsername(), dialog.getPassword());
Hoặc, tôi có thể sử dụng một nhà máy:
UserCredentials creds =
CredentialsFactory.create(dialog.getUsername(), dialog.getPassword());
Hoặc, tôi có thể sử dụng một nhà cung cấp trong vòng một DI container (trong trường hợp này về cơ bản sẽ là một nhà máy định hướng tham số). [Mã mẫu bị bỏ qua.]
Có vẻ như cả hai đều sai khi sử dụng vùng chứa DI cho một cái gì đó đơn giản như vậy nhưng dường như cũng không sai khi sử dụng nó đầy đủ nhất.
Tôi thậm chí còn không ý thức về nhà máy tĩnh so với nhà máy trừu tượng. Cảm ơn bạn đã nhận xét về giá trị gia tăng trong lĩnh vực đó. –