Summary
We've reviewed what it is to be highly cohesive and loosely coupled. We've seen what it means to be non-cohesive and how to detect certain non-cohesiveness through metrics. With some simple refactoring we can make something cohesive where it was previously not.
By refactoring our code to be more cohesive and less coupled, we've improved the maintainability of our code base. Classes are easier to move or reuse and we're less likely to repeat ourselves. Changes are now easier to make because we've decreased the dependencies.
In future chapters, we'll see how we can expand our efforts at loosely coupling even further and discuss some of the benefits and features we can attain once there.