Can small components still be tightly coupled?
Changing component size and changing how components communicate are separate decisions. Passing a value can remove a dependency on a synchronous call.
Read on through a shared source
What makes an object useful? →Compare refactoring a pricing rule into small objects with the cost of coordinating objects that carry mutable state. A class boundary alone says little about how its users interact.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.Is removing duplication worth another abstraction? →Metz weighs the cost of a wrong abstraction against repeated code. Ousterhout asks how much capability a module hides behind a simple interface.
Compare the passages
make smaller thingswe now have values as boundaries.