Có tương đương với lớp Đăng ký từ StructureMap trong Unity không?Tương đương đăng ký trong Unity
Tôi thích suy nghĩ về một lớp/thành phần/thư viện để định cấu hình tự - do đó điền vào vùng chứa. Vì vậy, lớp "cha mẹ" sẽ chỉ cần biết về lớp Đăng ký.
Có tương đương với lớp Đăng ký từ StructureMap trong Unity không?Tương đương đăng ký trong Unity
Tôi thích suy nghĩ về một lớp/thành phần/thư viện để định cấu hình tự - do đó điền vào vùng chứa. Vì vậy, lớp "cha mẹ" sẽ chỉ cần biết về lớp Đăng ký.
Không, không có. Trong dự án hiện tại của chúng tôi, chúng tôi đã bắt chước khái niệm Registry một cách thủ công mặc dù việc triển khai thực hiện của chúng tôi không mạnh bằng Cơ chế đăng ký StructureMap.
Nếu tất cả những gì bạn muốn là cấu hình vùng chứa theo mô đun, bạn có thể tạo giao diện điểm đánh dấu (có thể là IRegistry) và sau đó quét ứng dụng cho các lớp IRegistry. Với Unity, bạn có thể giải quyết các lớp chưa được đăng ký vào Unity, vì vậy bạn chỉ có thể giải quyết từng triển khai IRegistry khi bạn tìm thấy nó. Các lớp đăng ký có thể lấy container như một tham số constructor và sau đó mỗi lớp có thể cấu hình container khi cần thiết cho lớp/thành phần/thư viện đó.
public interface IRegistry
{
void Configure();
}
public class ServicesRegistry : IRegistry
{
public ServicesRegistry(IUnityContainer container)
{
_container = container;
}
public sub Configure()
{
// Configure container for layer
}
}
Bây giờ, trong ứng dụng, bạn có thể có trình khởi động ứng dụng biết tất cả các đăng ký của bạn hoặc biết cách quét chúng.
Bạn có thể thử UnityConfiguration đó là một quy ước dựa API cấu hình cho container Unity IoC, chịu ảnh hưởng nặng nề bởi StructureMap
Yeah, tôi nghĩ rằng đó là con đường để đi. Cảm ơn. – Michael