skip to main |
skip to sidebar
Modularity
- If a system is partitioned into modules so that the modules are solvable and modifiable separately.
- It will be even better if the modules are also separately compliable.
- A system is considered modular if it consists of discreet components so that each component can be implemented separately, and a change to one component has minimal impact on other components.
- Modularity helps in system:
- debugging—isolating the system problem to a component is easier if the system is modular;
- in system repair—changing a part of the system is easy as it affects few other parts;
- in system building—a modular system can be easily built by "putting its modules together.“
- For modularity, each module needs to support a well defined abstraction and have a clear interface through which it can interact with other modules. Modularity is where abstraction and partitioning come together.
- Module-Level Concepts:
- A module is a logically separable part of a program. It is a program unit that is discreet and identifiable with respect to compiling and loading.
- In terms of common programming language constructs, a module can be a macro, a function, a procedure (or subroutine), a process, or a package.
- In systems using functional abstraction, a module is usually a procedure of function or a collection of these.
- To produce modular designs, some criteria must be used to select modules so that the modules support well-defined abstractions and are solvable and modifiable separately.
- In a system using functional abstraction, coupling and cohesion are two modularization criteria, which are often used together.
Modularity truly paves the way for innovation! Tools like rookie sideloader can complement modular setups beautifully, making it easier to adapt and scale.
ReplyDelete