views:

27

answers:

1

I'd like to know how you understand modularization in software, especially in web development?

+3  A: 

From Modularity:

Modularity is a general systems concept, typically defined as a continuum describing the degree to which a system’s components may be separated and recombined.1 It refers to both the tightness of coupling between components, and the degree to which the “rules” of the system architecture enable (or prohibit) the mixing and matching of components.

In modular programming, modularity refers to the compartmentalization and inter-relation of the parts of a software package.

In a nutshell, it's about designing or seeing a system as composed of components or modules. That's it.

Notice that the term does not suggest a system be designed as a composition of modules, nor does it imply it should be strived to minimize modularization to make a single tightly-coupled piece of software.

Still, in practice, when one is talking about modularization in software, one is usually suggesting to attempt to split the system into many loosely interconnected modules (the Loose coupling principle). This often helps to achieve reusability and to limit propagation of changes done in one module over its borders and have significant impact on the other modules.

Developer Art