Which of the following principles is most important for enhancing the maintainability and scalability of software systems?
1
Increasing the complexity of individual components
2
Maximizing the coupling between various components
3
Minimizing the coupling and maximizing the cohesion within components
4
Ensuring all components are performing multiple, unrelated tasks