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.