In software architecture, what is the primary purpose of defining explicit interfaces between components?
-
A
To decouple components so they can evolve independently without breaking each other
-
B
To increase the number of classes in the system
-
C
To ensure all components are written in the same programming language
-
D
To make the system easier to test by limiting the number of modules