I agree that not all APIs have been designed with the DIP in
mind, it would be interesting to see if these are considered
well designed APIs and why.
Thing is, as R.Martin puts it, the DIP principle describes
the overall structure of a well designed oo application, and
when the principle is adhered to, high and low level modules
will be reusable and maintainable.
APIs are low level modules with their own lifecycle that
preferably shouldn't influence higher modules.
So to put it in a different way, APIs theoretically would
have the DIP as a fundamental property, in practice some
haven't.
What do you think?
Cheers,
Gian
[ November 21, 2004: Message edited by: Gian Franco Casula ]