High Cohesion and Low Coupling

Software Architecture
Software Architecture

From the perspective of software,

  • Cohesion refers to the extent of the relatedness to which the elements in a module are organized. “High cohesion” means constituent elements of a module are highly related. Class in object-oriented programming is the most common construct as a module.
  • Coupling refers to the extent of the dependency to which the relationship and interaction between modules are managed. “Low coupling” means the dependency of a module on others is well-managed. Interface and abstract class are common constructs that support the design pattern, dependency injection, to implement low coupling.
  • module is the outcome of modularization and encapsulation that puts related elements together and hides information and logic.

Leave a Reply