Anti-patterns
Kind: category
Record: architecture-category:anti-patterns
Canonical: Ontology
The Anti-patterns category holds 78 architecture principles.
Listed in Principle categories, before Domain Architecture.
Principle
- Big Ball of Mud
- God Object
- Concrete Coupling
- Schema Drift
- Implicit Contract
- Hardcoded Configuration
- Shared Mutable State
- Boundary Leakage
- Manual-Only Governance
- Opaque Runtime Behavior
- Unowned Risk
- Unobservable Failure
- Unversioned Breaking Change
- Distributed Monolith
- Shotgun Surgery
- Divergent Change
- Feature Envy
- Inappropriate Intimacy
- Message Chain
- Middle Man
- Data Clumps
- Primitive Obsession
- Stringly Typed Programming
- Boolean Trap
- Long Parameter List
- Magic Value
- Speculative Generality
- Premature Abstraction
- Over-Abstraction
- Golden Hammer
- Pattern Cargo Cult
- Lava Flow
- Zombie Code
- Temporal Coupling
- Hidden Side Effect
- Action at a Distance
- Ambient Context
- Inconsistent Error Model
- Exception Control Flow
- Null Semantics Drift
- Anemic Domain Model
- Transaction Script Sprawl
- Fat Controller
- Repository Dump
- Utility Dump
- Framework Leakage
- Vendor Lock-In Leakage
- Circular Dependency
- Cyclic Deployment Dependency
- Synchronous Chain Trap
- Chatty Interface
- N Plus One Query
- Cache Poisoning by Design
- Retry Storm
- Timeout Omission
- Missing Backpressure
- Silent Data Corruption
- Lost Update
- Dual Write
- Read-Your-Writes Violation
- Security Theater
- Authorization Scattering
- Secret Sprawl
- Personal Data Oversharing
- Observability Noise
- Log-as-Control-Flow
- Manual Runbook Dependency
- Big-Bang Release
- Irreversible Migration
- Big-Upfront Frozen Architecture
- Architecture Astronaut
- Feature-Only Design
- Test Pyramid Inversion
- Mock Mirage
- Flaky Test Normalization
- Prompt Sprawl
- Ungrounded Content
- Model Version Ambiguity
Layer
Linked from
Anti-patterns
Every principle in this category is listed as a record. Each record carries its kind, its severity, the scopes it applies at and the layer it lives in, then the edge relations that join it to other records, the records that point back at it, the contracts that answer to it and the tensions it takes part in. The descriptors say how it is violated, detected, measured, repaired and enforced. Where the record carries one, an exemplar shows the shape before and after the principle is applied.
Relations diagram
flowchart LR
n_big_ball_of_mud["Big Ball of Mud"]
n_god_object["God Object"]
n_concrete_coupling["Concrete Coupling"]
n_schema_drift["Schema Drift"]
n_implicit_contract["Implicit Contract"]
n_hardcoded_configuration["Hardcoded Configuration"]
n_shared_mutable_state["Shared Mutable State"]
n_boundary_leakage["Boundary Leakage"]
n_manual_only_governance["Manual-Only Governance"]
n_opaque_runtime_behavior["Opaque Runtime Behavior"]
n_unowned_risk["Unowned Risk"]
n_unobservable_failure["Unobservable Failure"]
n_unversioned_breaking_change["Unversioned Breaking Change"]
n_distributed_monolith["Distributed Monolith"]
n_shotgun_surgery["Shotgun Surgery"]
n_divergent_change["Divergent Change"]
n_feature_envy["Feature Envy"]
n_inappropriate_intimacy["Inappropriate Intimacy"]
n_message_chain["Message Chain"]
n_middle_man["Middle Man"]
n_data_clumps["Data Clumps"]
n_primitive_obsession["Primitive Obsession"]
n_stringly_typed_programming["Stringly Typed Programming"]
n_boolean_trap["Boolean Trap"]
n_long_parameter_list["Long Parameter List"]
n_magic_value["Magic Value"]
n_speculative_generality["Speculative Generality"]
n_premature_abstraction["Premature Abstraction"]
n_over_abstraction["Over-Abstraction"]
n_golden_hammer["Golden Hammer"]
n_pattern_cargo_cult["Pattern Cargo Cult"]
n_lava_flow["Lava Flow"]
n_zombie_code["Zombie Code"]
n_temporal_coupling["Temporal Coupling"]
n_hidden_side_effect["Hidden Side Effect"]
n_action_at_a_distance["Action at a Distance"]
n_ambient_context["Ambient Context"]
n_inconsistent_error_model["Inconsistent Error Model"]
n_exception_control_flow["Exception Control Flow"]
n_null_semantics_drift["Null Semantics Drift"]
n_anemic_domain_model["Anemic Domain Model"]
n_transaction_script_sprawl["Transaction Script Sprawl"]
n_fat_controller["Fat Controller"]
n_repository_dump["Repository Dump"]
n_utility_dump["Utility Dump"]
n_framework_leakage["Framework Leakage"]
n_vendor_lock_in_leakage["Vendor Lock-In Leakage"]
n_circular_dependency["Circular Dependency"]
n_cyclic_deployment_dependency["Cyclic Deployment Dependency"]
n_synchronous_chain_trap["Synchronous Chain Trap"]
n_chatty_interface["Chatty Interface"]
n_n_plus_one_query["N Plus One Query"]
n_cache_poisoning_by_design["Cache Poisoning by Design"]
n_retry_storm["Retry Storm"]
n_timeout_omission["Timeout Omission"]
n_missing_backpressure["Missing Backpressure"]
n_silent_data_corruption["Silent Data Corruption"]
n_lost_update["Lost Update"]
n_dual_write["Dual Write"]
n_read_your_writes_violation["Read-Your-Writes Violation"]
n_security_theater["Security Theater"]
n_authorization_scattering["Authorization Scattering"]
n_secret_sprawl["Secret Sprawl"]
n_personal_data_oversharing["Personal Data Oversharing"]
n_observability_noise["Observability Noise"]
n_log_as_control_flow["Log-as-Control-Flow"]
n_manual_runbook_dependency["Manual Runbook Dependency"]
n_big_bang_release["Big-Bang Release"]
n_irreversible_migration["Irreversible Migration"]
n_big_upfront_frozen_architecture["Big-Upfront Frozen Architecture"]
n_architecture_astronaut["Architecture Astronaut"]
n_feature_only_design["Feature-Only Design"]
n_test_pyramid_inversion["Test Pyramid Inversion"]
n_mock_mirage["Mock Mirage"]
n_flaky_test_normalization["Flaky Test Normalization"]
n_prompt_sprawl["Prompt Sprawl"]
n_ungrounded_content["Ungrounded Content"]
n_model_version_ambiguity["Model Version Ambiguity"]Big Ball of Mud
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, state_transaction
- Layer: Enforcement Core
God Object
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, semantic_consistency, domain_boundary, control_coordination
- Aliases: Blob Class, God Class
- Layer: Enforcement Core
Concrete Coupling
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity
- Aliases: Concrete Dependency
- Layer: Enforcement Core
Schema Drift
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility, security_governance, model_governance
- Layer: Enforcement Core
Implicit Contract
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility, causality_ordering
- Aliases: Implicit Payloads
- Layer: Enforcement Core
Hardcoded Configuration
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: semantic_consistency, state_transaction
- Layer: Enforcement Core
Shared Mutable State
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, state_transaction
- Layer: Enforcement Core
Boundary Leakage
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, model_governance
- Layer: Enforcement Core
Manual-Only Governance
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: correctness_verification, security_governance
- Aliases: Document-Only Policy
- Layer: Enforcement Core
Opaque Runtime Behavior
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: runtime_extensibility, metaprogramming_modeling
- Aliases: Opaque Runtime
- Layer: Enforcement Core
Unowned Risk
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: architecture_evolution
- Aliases: Unknown/Unowned Risk
- Layer: Enforcement Core
Unobservable Failure
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility
- Aliases: Opaque System
- Layer: Enforcement Core
Unversioned Breaking Change
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility, event_messaging, architecture_evolution
- Layer: Enforcement Core
Distributed Monolith
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, contract_compatibility, state_transaction
- Layer: Enforcement Core
Shotgun Surgery
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity
- Layer: Enforcement Core
Divergent Change
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity
- Layer: Enforcement Core
Feature Envy
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, contract_compatibility
- Layer: Enforcement Core
Inappropriate Intimacy
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, contract_compatibility
- Layer: Enforcement Core
Message Chain
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: event_messaging
- Aliases: Train Wreck
- Layer: Enforcement Core
Middle Man
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, correctness_verification, control_coordination
- Layer: Enforcement Core
Data Clumps
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility
- Layer: Enforcement Core
Primitive Obsession
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: correctness_verification, domain_boundary
- Layer: Enforcement Core
Stringly Typed Programming
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: architecture_evolution
- Layer: Enforcement Core
Boolean Trap
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: architecture_evolution
- Aliases: Flag Argument
- Layer: Enforcement Core
Long Parameter List
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, contract_compatibility, correctness_verification, object_creation
- Layer: Enforcement Core
Magic Value
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: domain_boundary
- Aliases: Magic Number
- Layer: Enforcement Core
Speculative Generality
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: runtime_extensibility
- Layer: Enforcement Core
Premature Abstraction
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity
- Layer: Enforcement Core
Over-Abstraction
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility
- Layer: Enforcement Core
Golden Hammer
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: architecture_evolution
- Aliases: Law of the Instrument
- Layer: Enforcement Core
Pattern Cargo Cult
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility, correctness_verification
- Aliases: Cargo-Cult Pattern Use
- Layer: Enforcement Core
Lava Flow
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: architecture_evolution
- Layer: Enforcement Core
Zombie Code
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: architecture_evolution
- Aliases: Dead Code
- Layer: Enforcement Core
Temporal Coupling
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, contract_compatibility, correctness_verification, causality_ordering
- Layer: Enforcement Core
Action at a Distance
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: event_messaging
- Layer: Enforcement Core
Ambient Context
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: state_transaction
- Layer: Enforcement Core
Inconsistent Error Model
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: model_governance
- Layer: Enforcement Core
Exception Control Flow
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: correctness_verification
- Layer: Enforcement Core
Null Semantics Drift
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: semantic_consistency
- Layer: Enforcement Core
Anemic Domain Model
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, contract_compatibility, semantic_consistency, model_governance, domain_boundary
- Aliases: Anemic Model
- Layer: Enforcement Core
Transaction Script Sprawl
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: state_transaction, correctness_verification, domain_boundary, control_coordination
- Layer: Enforcement Core
Fat Controller
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: correctness_verification, security_governance, control_coordination
- Layer: Enforcement Core
Repository Dump
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: correctness_verification, domain_boundary, control_coordination
- Layer: Enforcement Core
Utility Dump
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, domain_boundary
- Layer: Enforcement Core
Framework Leakage
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: domain_boundary
- Aliases: Infrastructure-Centric Design, Framework-Centric Core
- Layer: Enforcement Core
Vendor Lock-In Leakage
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, model_governance, domain_boundary
- Aliases: Shared Model Coupling
- Layer: Enforcement Core
Circular Dependency
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity
- Aliases: Cyclic Dependencies
- Layer: Enforcement Core
Cyclic Deployment Dependency
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: architecture_evolution
- Layer: Enforcement Core
Synchronous Chain Trap
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity
- Aliases: Blocking Synchronous Chains
- Layer: Enforcement Core
Chatty Interface
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, contract_compatibility
- Layer: Enforcement Core
N Plus One Query
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: architecture_evolution
- Aliases: N+1 Query
- Layer: Enforcement Core
Cache Poisoning by Design
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: correctness_verification, security_governance
- Layer: Enforcement Core
Retry Storm
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: resilience_recovery
- Layer: Enforcement Core
Timeout Omission
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: resilience_recovery
- Aliases: Infinite Wait
- Layer: Enforcement Core
Missing Backpressure
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: resilience_recovery
- Aliases: Unbounded Ingestion
- Layer: Enforcement Core
Silent Data Corruption
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility, correctness_verification
- Layer: Enforcement Core
Lost Update
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: state_transaction
- Aliases: Whole-File Write Race
- Layer: Enforcement Core
Dual Write
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: event_messaging
- Layer: Enforcement Core
Read-Your-Writes Violation
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility
- Layer: Enforcement Core
Security Theater
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: security_governance, model_governance
- Layer: Enforcement Core
Authorization Scattering
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: security_governance, model_governance
- Layer: Enforcement Core
Secret Sprawl
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: modularity, security_governance
- Layer: Enforcement Core
Personal Data Oversharing
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: architecture_evolution
- Aliases: Unbounded Data Collection
- Layer: Enforcement Core
Observability Noise
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: observability_traceability
- Layer: Enforcement Core
Log-as-Control-Flow
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: correctness_verification, resilience_recovery
- Layer: Enforcement Core
Manual Runbook Dependency
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: resilience_recovery
- Aliases: Manual-Only Recovery, Manual Intervention Dependency
- Layer: Enforcement Core
Big-Bang Release
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: state_transaction
- Aliases: Big-Bang Deployment
- Layer: Enforcement Core
Irreversible Migration
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility, architecture_evolution
- Layer: Enforcement Core
Big-Upfront Frozen Architecture
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: domain_boundary
- Layer: Enforcement Core
Architecture Astronaut
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: model_governance, domain_boundary
- Aliases: Over-Architecture
- Layer: Enforcement Core
Feature-Only Design
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: security_governance, performance_scaling
- Layer: Enforcement Core
Test Pyramid Inversion
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility
- Layer: Enforcement Core
Mock Mirage
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility, correctness_verification, observability_traceability
- Layer: Enforcement Core
Flaky Test Normalization
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: semantic_consistency, correctness_verification
- Layer: Enforcement Core
Prompt Sprawl
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: contract_compatibility, model_governance
- Layer: Enforcement Core
Ungrounded Content
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: model_governance
- Layer: Enforcement Core
Model Version Ambiguity
- Kind: anti-pattern
- Category: anti-patterns
- Severity: discouraged
- Scope: model_governance
- Layer: Enforcement Core