Improve the simplicity of Router by once again extracting Dispatcher.
Instead of a dispatcher accepting a router, a router should be able to accept different dispatchers and also have a default implementation that it instantiates for itself (i.e. the current implementation).
Not only does this enhance the coherence of the framework, it also allows for custom dispatchers to be provided to the router.
Improve the simplicity of
Router
by once again extractingDispatcher
.Instead of a dispatcher accepting a router, a router should be able to accept different dispatchers and also have a default implementation that it instantiates for itself (i.e. the current implementation).
Not only does this enhance the coherence of the framework, it also allows for custom dispatchers to be provided to the router.