How much can a small interface hide?
A small API reduces the concepts callers must learn. A deep module makes that small surface useful by hiding substantial implementation behind it.
Read on through a shared source
Small objects or small interfaces? →One talk breaks code into smaller responsibilities. The other limits what callers must learn. Count the decisions exposed to callers as well as the objects inside the implementation.When does a module boundary freeze a decision? →An interface can shelter callers from a changing implementation. Once clients depend on its behavior, changing the interface itself becomes more expensive.Does hiding mutation remove coordination costs? →An object can conceal its state and still require callers to coordinate operations. Examine what happens when independently safe operations must work together.
Compare the passages
When it doubt, leave it out.very simple interface with a very large amount of functionality underneath it