12
既知のように、ASP.NET CoreのConfigure(クラススタートアップ)メソッドのIApplicationBuilderには、特定のセマンティクス(HttpContext型の入力パラメータと戻り値としてのTaskを持つInvokeメソッド)が必要です。しかし、なぜそれがインターフェイスとして実装されていないのですか?ASP.NET Coreのミドルウェアには特定のセマンティクスが必要ですが、インターフェイスは必要ないのはなぜですか?
public class FakeMiddleware
{
}
をし、それを登録します:私はそれのような何かを書くことができ
app.UseMiddleware<FakeMiddleware>();
と、私たちは、ランタイムエラーが発生します。もちろん、それは簡単なことであり、簡単に見つけて修正することができますが、インターフェイスがなくても大雑把に実装されていますか?
DIでは、現在の「バージョン」の不利な点について考えることができますか? :)この状況(追加のパラメータとそれを自動的に解決するため)は、この場所よりも分散することができるので –
ああ、それはコンストラクタを注入する必要があります。要求ごとの依存関係であれば、ファクトリパターンはうまく動作します – Rbjz