Architectural Elements

Work in progress. This note is still being written and incomplete.

Software Architecture’s Elements

A software system’s architecture should not normally be a uniform monolith.

Instead, it should be a composition and interplay of different elements:

  • Processing
  • Data also called information or state
  • Interaction

Components

Software components are elements that encapsulate processing and data in a system’s architecture.

A software component is an architectural entity that:

  • Encapsulates a subset of the system’s functionality and/or data.
  • Restricts access to that subset through an explicitly defined interface.
  • Has explicitly defined dependencies on its required execution context.
  • Typically provides application-specific services.

Connectors

In complex systems, interaction may become more important and challenging than the functionality of individual components.

A software connector is an architectural building block that is responsible for effecting and regulating interactions among components.

Connectors typically provide application-independent interaction facilities.

Examples of Connectors

  • Procedure call connectors
  • Shared memory connectors
  • Message passing connectors
  • Streaming connectors
  • Distribution connectors
  • Wrapper/adaptor connectors
Written by October 5, 2026 1 min read
Was this helpful?