Tôi đang tạo một dự án mới trong ASP.net bằng cách sử dụng MVC 4.Thực tiễn tốt nhất cho việc tiêm phụ thuộc
Tôi muốn thiết lập tiêm phụ thuộc sử dụng Ninject
. Nhưng trước khi tôi tiến hành các phương pháp hay nhất khi thiết lập tiêm phụ thuộc là gì?
Hiện tại tôi có thiết lập lớp chất kết dính trong dự án web sẽ tham chiếu dự án dữ liệu trong giải pháp.
Lớp chất kết dính được như hình dưới đây:
Public static class Binder
{
static Ninject.IKernel _kernel;
static Binder()
{
_kernel = new Ninject.StandardKernel();
_kernel.Bind<IConfig>().To<AppSettingsConfig>();
_kernel.Bind<IDocuments>().To<DocumentsClass.Documents>();
}
public static T GetImplementation<T>()
{
return _kernel.Get<T>();
}
}
Sau đó, trong vòng điều khiển của tôi sử dụng phương pháp GetImplementation sử dụng chính xác đòi hỏi phụ thuộc chứ không phải đăng ký tất cả khi khởi động ứng dụng.
Ví dụ mã từ bộ điều khiển:
Public ActionResult Get (int id)
{
var repository = Binder.GetImplementation<IDocuments>();
// do some stuff with the repository here
}
Không chắc chắn nếu điều này sẽ là một cách tiếp cận tốt? Mọi lời khuyên sẽ tốt.
Một mã nhỏ cũng sẽ tốt? – BenjaminPaul
@Wiktors câu trả lời dưới đây là cách để đi. Sử dụng tiêm constructor càng nhiều càng tốt. Chỉ sử dụng mẫu chống SL nếu, vì một số lý do bạn không thể thiết lập chuỗi phụ thuộc đầy đủ. –