3 ms·
You can only answer that with respect to a specific usage of the abstraction. An abstraction that should abstract from different implementations A, B, C is leak
by wsy 8y ago
You can only answer that with respect to a specific usage of the abstraction. An abstraction that should abstract from different implementations A, B, C is leaky with respect to use case X, if the implementation for X still needs to know about differences between A/B/C.
A good abstraction is not leaky for most use cases. A bad abstraction is leaky for many use cases. The main issue is that you can't foresee the use cases, so premature abstractions usually turn out to be leaky.