Andrew's Digital Garden

Orthogonality

Things are orthogonal if changes in one do not affect any of the others.

For example, the database code should be orthogonal to the user interface. Each should be able to be swapped without affecting the other.

Good orthogonality helps produce systems that are easier to design, build, test, and extend. Components are self-contained, independent, and have a single purpose [[20221010033955-single-responsibility-principle]]. That way, you can change a component with confidence that it won't have ripple effects over the rest of the system. More productivity, less risk.

[[20210202103254-coupling-cohesion]] [[20200307101703-easy-to-change]] [[20200307105301-dry]]

[[principles]]

Orthogonality