Skip to content

Connascence

softwareDesign

Connascence

Two components are connascent if a change in one would require the other to be modified in order to maintain the overall correctness of the system

1996, Meilir Page-Jones. What Every Programmer Should Know About Object Oriented Design (Dorset House)

Types of Connascence

  • Static, discoverable via static code analysis,
  • Dynamic concerning runtime behavior.
    • Synchronous: calls between two distributed services have the caller wait for the response from the callee
    • Asynchronous:  calls allow fire-and-forget semantics in event-driven architectures, allowing two different services to differ in operational architecture

Source