We need men who can dream of things that never were.
—John F. Kennedy
The entire ASP.NET MVC stack is full of extensibility points. An extensibility point is a place in the code at which the actual behavior that takes place can be read from an external and replaceable provider. In the previous chapters, you saw a few examples of extensibility points. You saw, for example, how to replace the controller factory—that is, the component that returns fresh instances of controller classes for each incoming request. (See Chapter 7.) Chapter 4, discusses how to replace a model metadata provider—that is, the component that reads meta-information about classes to be used in HTML forms.
In a programming framework ...