Software systems evolve over time. Most of them through, are quick and small ones - hacks. These changes, over a period of time makes the code spaghetti, difficult to understand, gathers tremendous Technical Debt and along they way looses the design principles by which they are designed in the first place. Fixing these problems will be risky, tedious and expensive and definitely not without the support of a proven framework.This is the first problem. There is another force that will require significant changes to existing software systems. This force is created by the changing landscape of expectations due to technologies such as cloud, big-data and REST as well as emotional experience across all touch points, not just on PCs. This is the second problem.
Modular architecture addresses both these problems. It is not a novel thought or an isolated architectural style, but a structured way to refactor, rather restructure the code to make the systems easier to understand, extend and adopt to the new paradigms. The focus of Modular Architecture is the structural and physical design.
65. ROBERT C. MARTIN (UNCLE BOB)
There are four primary symptoms that tell us
that our designs are rotting : rigidity, fragility,
immobility, and viscosity.
“
70. MARTIN FOWLER
I see refactoring as a very
specific technique to do the
more general activity of
restructuring.
Restructuring is any
rearrangement of parts of a
whole.
“
71. The physical architecture is
the skeleton of the system –
if it is malformed, there is no
cosmetic remedy for
alleviating its unpleasant
symptoms.
“
JOHN LAKOS