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

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
The relations inside this category.
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"]