Three architecture principles that make software easier to change over time
A software architecture discussion on DEV Community outlines three design principles aimed at reducing the cost of inevitable system changes, as described by Lehman's Law of Continuous Change (1974). The first principle advocates keeping business logic isolated from frameworks, so that replacing a framework like ASP.NET or AngularJS does not force a rewrite of core domain rules. The second principle recommends organizing code by the actors who request changes, preventing unrelated stakeholders from causing unintended side effects in each other's workflows. The third principle addresses risks that emerge when a system's domain grows beyond what has been formally validated as safe. Together, the three principles target distinct sources of change — external ecosystems, surrounding stakeholders, and internal domain growth — rather than trying to prevent change itself.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in