Instead of making the Request and Response objects interfaces, they are
becoming abstract classes, which means that the subclasses don't need to
re-implement all the plumbing.
Perhaps an even better way to do this would have been composition, but
this seems like a good step forward.
Instead of making the Request and Response objects interfaces, they are becoming abstract classes, which means that the subclasses don't need to re-implement all the plumbing.
Perhaps an even better way to do this would have been composition, but this seems like a good step forward.