Hãy giả sử chúng ta có một giao diện IConfiguration rất đơn giản mà trách nhiệm trả lại một chuỗi kết nối thích hợpánh xạ container IoC: singleton vs từng gọi tạo
interface IConfiguration
{
string ConnectionString {get;}
}
và cho phép giả định chỉ có một thể hiện của kiểu đó thực hiện giao diện như vậy có thể được sử dụng (vì nó chỉ trả về một chuỗi, không quản lý trạng thái, vv)
Vì vậy, có ít nhất hai cách giao diện có thể được đăng ký trong vùng chứa: loại yêu cầu, hoặc như là một đối tượng đơn lẻ cho tất cả các yêu cầu loại. Có sự khác biệt giữa các phương pháp (có lẽ lý do hiệu suất, thủ thuật quản lý cuộc đời, vv)
container.For<IConfiguration>().Use<ConfigurationImpl>();
vs
container.For<IConfiguration>().Singleton().Use<ConfigurationImpl>();