Это деталь реализации, которая не должна вас волновать. Важно то, что теперь, когда веб-API использует DependencyResolver для разрешения зависимостей для множества различных средств, вы сможете использовать реальное внедрение зависимостей всякий раз, когда вы хотите подключиться к этим средствам. Так что в вашем коде вы будете использовать реальное внедрение зависимостей. Если Microsoft не использовала DependencyResolver
, то именно вы должны были использовать его (как антишаблон поиска служб) в своем коде, чтобы разрешить зависимости, когда вы хотите реализовать некоторые пользовательские функции. Это было бы плохо для вас . Теперь это плохо для Microsoft , но вы не заботитесь о них.
Таким образом, я остаюсь любопытным и запутанным, почему Microsoft будет использовать локатор служб в 2012 году.
Потому что разработка фреймворка - это не то же самое, что разработка приложения с использованием фреймворка. При разработке многократно используемой среды, такой как ASP.NET MVC, следует принимать во внимание разные вещи, а не только то, что написано в книгах. Некоторым примером является разработка структуры таким образом, чтобы человек, использующий эту среду, смог воспользоваться преимуществами лучших практик, написанных в книгах, в своем коде, используя эту среду.