Skip to main content

Table 3 Architectural problem types

From: On the relationship of code-anomaly agglomerations and architectural problems

Name

Description

Ambiguous Interface

Interface that offers only a single, general entry-point, but provides two or more services.

Architectural Violation

Dependency that violates an intended architectural rule.

Connector Envy

Component that encompasses extensive interaction-related functionality that should be delegated to a connector.

Concern Overload

Component that is responsible for realizing two or more unrelated system’s concerns.

Cyclic Dependency

Two or more components that directly or indirectly depend on each other to function properly.

Extraneous Connector

Two connectors of different types that are used to link the same pair of components.

Scattered Functionality

Multiple components that are responsible for realizing the same high level concern, with some of them responsible for orthogonal concerns.

Unused Interface

Interface that is never used by external components.