I’ve been very excited to learn about all sorts of principles from the field of organizational theory. What is most engaging is how they so strongly relate to many principles within the field of software architecture. Conway’s law establishes this principle, but I think we can take it further.
I heard once that debugging and fixing defects amounts to half the cost of software development 1. Half of the time you spend writing code, you’re not actually writing code, your fixing code. It seems to me that a strong majority of the software development tools we have are devoted to this effort. Yeah, text editors are for writing code, but all the little tools like debuggers, print statements, and inspect element, are designed for fixing code. They are designed for decreasing the time…
The Law of Demeter is a small set of rules for how objects should interact with each other. It helps define the boundaries between objects and determine who controls and owns what.
Applying this design principle gives each object their own personal space
and keeps objects from micromanaging others.