Như đã biết, IApplicationBuilder của phương thức Configure (class Startup) trong ASP.NET Core yêu cầu ngữ nghĩa cụ thể (để có phương thức 'Invoke' với tham số đầu vào của kiểu HttpContext và Task làm giá trị trả về). Nhưng tại sao nó không được thực hiện như giao diện? Tôi có thể viết một cái gì đó giống như nó:Tại sao phần mềm trung gian trong ASP.NET Core yêu cầu ngữ nghĩa cụ thể, nhưng không phải là giao diện?
public class FakeMiddleware
{
}
và đăng ký nó:
app.UseMiddleware<FakeMiddleware>();
và chúng tôi sẽ nhận được một lỗi runtime. Tất nhiên, đó là điều tầm thường và dễ dàng được tìm thấy và sửa chữa, nhưng nó thực hiện rất thô, không có giao diện?
vì vậy, với DI chúng ta có thể suy nghĩ về các giao diện bất lợi trong "phiên bản" hiện tại? :) Bởi vì tình trạng này (với các thông số bổ sung và giải quyết nó tự động) có thể được phân phối nhiều hơn nơi này –
Oh gosh, mà nên được xây dựng tiêm. Nếu đó là phụ thuộc theo yêu cầu thì mẫu nhà máy sẽ hoạt động độc đáo – Rbjz