>> Of all 30+ files that were changed for this, there was only one method
>> that ended up being backwards incompatible.  That doesn't sound very
>> brittle to me ;)
>
> You changed RedirectView's signature.  That's not backward compatible.  
> Again, the reason for this problem is because of the extensive use of 
> inheritance for complex and brittle interactions with their implementations.

My comment was an illustration at how most of that code used
composition (instantiating an object - StringBuilder - instead of
receiving it from a protected method through inheritance).  Only one
method didn't do this, and I already stated it wasn't backwards
compatible.

While there are areas of the code that would do well to favor
composition over inheritance, the large majority of the code base
already does this, so I think it might be a bit misleading for you to
represent us as "'deprecation thrashing' because of the extensive use
of inheritance".  It doesn't happen very often, and where it has, it
has been localized to a few things that aren't that critical in the
grand scheme of the project.

But I'm pretty sure we do agree in principle :).

Les

Reply via email to