-
Principles
-
Loose coupling
- Content coupling (high)
- Common coupling
- External coupling
- Control coupling
- Stamp coupling (Data-structured coupling)
- Data coupling
- Message coupling (low)
- No coupling
-
Cohesion
- Coincidental cohesion (worst)
- Logical cohesion
- Temporal cohesion
- Procedural cohesion
- Communicational cohesion
- Sequential cohesion
- Functional cohesion (best)
-
Features or Concepts
- Abstraction
- Encapsulation
- Inheritance
- Polymorphism