Bilindiği üzere, ASP.NET Çekirdeğinde Configure (sınıf Başlatma) yönteminin IApplicationBuilder özelliği, belirli semantiklerin (HttpContext türünde girdi parametresiyle 'Invoke' yöntemine sahip olması ve Dönüş değeri olarak Görev'i gerektirir) gerektirir. Ama neden arayüz olarak uygulanmadı?ASP.NET Çekirdeğinde ara katman yazılımı neden belirli bir semantik gerektirir, ancak bir arabirim gerektirmiyor?
public class FakeMiddleware
{
}
ve kaydetmek: Böyle bir şey yazabilirsiniz
app.UseMiddleware<FakeMiddleware>();
ve biz bir çalışma zamanı hatası alırsınız. Tabii ki, bu önemsiz şey ve bulunması ve düzeltilmesi kolay, ama arayüzsüz, bu kadar zor uygulandı?
, DI ile mevcut "sürüm" dezavantajları arayüzleri hakkında düşünebiliriz? :) Çünkü bu durum (ek parametrelerle ve otomatik olarak çözülerek) bu yerden –
Oh gosh daha dağıtılabilir, bu yapıcı enjekte edilmelidir. İstek başına bir bağımlılık ise, o zaman bir fabrika kalıbı güzel çalışır – Rbjz