Adding new Attribute Interfaces to java-api.
Brent Putman
putmanb at georgetown.edu
Tue Sep 24 16:01:20 EDT 2013
On 9/24/13 3:07 PM, Tom Zeller wrote:
>>> I remember talking with Chad about the removal of interfaces, and I
>>> think his line of reasoning was that what we lose in flexibility we
>>> gain in simplicity, and the flexibility gained was 'never' used anyway
>>> (my quotes).
So I had the same discussion with Chad. That's a pretty accurate basic
summary. His reasoning to me was basically: if you're only ever going
to have 1 impl of the interface, then there's no value in the additional
complexity of interface + impl, vs just a concrete. That's pretty much
what it boils down to.
That is not my natural inclination, I tend to prefer interfaces, for
future planning, extensibility, not locking yourself in, etc,.
Basically all the obvious reasons. But at the time I didn't have the
time or energy to argue about it, so I accepted Chad's reasoning for v3
and went along with that.
>
> I remember talking to Chad about the interface removal, it was one of
> the first things I asked him about, and I accepted his response as
> satisfactory. But I just cannot reproduce here what he said, I do not
> have good notes regarding that conversation.
I don't have notes either, but IIRC it's not much more complex than
what's already been said.
>
> I would need to take more time to look through the v2 and v3 IdP and
> OpenSAML to see where Chad moved away from the
> Interface+Abstract+Concrete model to just Concrete.
One specific thing he asked me to do was get rid of (in his view) the
"unnecessary" interface usage in the new messaging API, and so I did.
> If we decide that
> we want to re-reverse that, then I think it will affect more than just
> the 4 classes mentioned in the OP, and we would need to define some
> sort of convention for which objects get an interface, because we
> think those are plug-in points.
If we wanted to be consistent, then yes, there's probably a lot of
places, probably mostly in the IdP since there s a lot of
"interface-averse new Chad code" there. I can't recall too much else
that was changed along those lines in OpenSAML, other than the new
message processing stuff.
More information about the dev
mailing list