Два подхода на самом деле одинаковы: DefaultModelbinder реализует IModelBinder, поэтому наследование от него так же хорошо, как и другой способ реализации IModelBinder.
Pro для наследования от DefaultModelBinder: вы можете повторно использовать множествоповедения из DefaultModelBinder и переопределяют только те, которые вы хотите.Вам не нужно реализовывать с нуля.
Pro для создания собственной реализации IModelBinder: у вас есть только один метод для реализации (IModelBinder.BindModel
), и вы имеете полный контроль над тем, что делает ваша реализация.
Правильный путь в значительной степени зависит от того, что вам нужно от вашего пользовательского связывателя, но поведение DefaultModelBinder обычно то, что вам нужно (и в большинстве случаев простой старый DefaultModelBinder действительно является желаемым связывателем).