|
|
|
|
|
by chousuke
1284 days ago
|
|
I like abstractions when they are transparent enough that it's easy to tell how it could be implemented one layer down. There might be many implementation details that you hide under the abstraction, but if the interface is so abstract that I can't envision a straightforward implementation of it just based on the interface, there's probably something wrong with the abstraction. Additionally, if the behaviour of the implementation conflicts with the simplified model communicated by the interface, that'll also cause issues. |
|
Sometimes, we can get lucky and a declarative statement of what we want works. Often, that isn't the case.