# Lexicon terms whose category is behavioral-patterns

> 47 records

This index as JSON: https://banes-lab.com/json/api/facets/lexicon/category/behavioral-patterns

## Entries

- [Direct Callback Coupling](https://banes-lab.com/records/lexicon/direct-callback-coupling.md): Wiring a source to notify specific recipients by direct call, coupling it to each one.
- [Direct Method Invocation](https://banes-lab.com/records/lexicon/direct-method-invocation.md): Invoking an operation by direct method call, so it cannot be queued, logged, or undone.
- [Duplicated Workflow](https://banes-lab.com/records/lexicon/duplicated-workflow.md): Repeating the same overall algorithm in many places, each copy re-implementing the shared steps.
- [Exposed Internal Representation](https://banes-lab.com/records/lexicon/exposed-internal-representation.md): Forcing clients to traverse a collection through its internal structure, coupling them to that structure.
- [External State Reach-In](https://banes-lab.com/records/lexicon/external-state-reach-in.md): Reading or writing an object's internal state from outside to snapshot it, breaking its encapsulation.
- [Flat State Explosion](https://banes-lab.com/records/lexicon/flat-state-explosion.md): Enumerating every combination of conditions as a separate flat state, so the state count explodes.
- [Large Conditional Logic](https://banes-lab.com/records/lexicon/large-conditional-logic.md): Selecting behavior with a large branching conditional instead of pluggable strategy objects.
- [Mesh Dependencies](https://banes-lab.com/records/lexicon/mesh-dependencies.md): Letting every object refer directly to every other, forming a dense mesh of point-to-point dependencies.
- [Monolithic Handler](https://banes-lab.com/records/lexicon/monolithic-handler.md): Handling every case in one large handler instead of a chain of focused, single-purpose handlers.
- [Type-Switch Dispatch](https://banes-lab.com/records/lexicon/type-switch-dispatch.md): Dispatching behavior with a switch on an object's type instead of double dispatch through a visitor.
- [Centralized Interaction Logic](https://banes-lab.com/records/lexicon/centralized-interaction-logic.md): The ability to concentrate how a set of objects interact within one mediating component.
- [Controlled Variation](https://banes-lab.com/records/lexicon/controlled-variation.md): The ability to let subclasses vary only the designated steps of a fixed algorithm.
- [Decoupled Notification](https://banes-lab.com/records/lexicon/decoupled-notification.md): The ability to notify interested parties of a change without the source knowing who they are.
- [Deferred Execution](https://banes-lab.com/records/lexicon/deferred-execution.md): The ability to capture a request as an object so it can be run later, held in a queue, or logged.
- [Exhaustive State Reasoning](https://banes-lab.com/records/lexicon/exhaustive-state-reasoning.md): The ability to enumerate and reason about every state a system can occupy and every transition between them.
- [Framework Reuse](https://banes-lab.com/records/lexicon/framework-reuse.md): The ability to reuse a fixed algorithm skeleton across many concrete implementations.
- [Guarded Transitions](https://banes-lab.com/records/lexicon/guarded-transitions.md): The ability to permit a state transition only when a specified condition holds.
- [Hierarchical States](https://banes-lab.com/records/lexicon/hierarchical-states.md): The ability to nest states so shared behavior is defined once on an enclosing state.
- [Lazy Traversal](https://banes-lab.com/records/lexicon/lazy-traversal.md): The ability to produce a collection's elements one at a time on demand rather than all at once.
- [Null-Check Elimination](https://banes-lab.com/records/lexicon/null-check-elimination.md): The ability to remove scattered null checks by substituting a benign do-nothing object.
- [Operation Extension Without Element Change](https://banes-lab.com/records/lexicon/operation-extension-without-element-change.md): The ability to add new operations over a structure without modifying its element classes.
- [Ordered Fallthrough](https://banes-lab.com/records/lexicon/ordered-fallthrough.md): The ability to offer a request to handlers in sequence until one of them accepts it.
- [Parallel Regions](https://banes-lab.com/records/lexicon/parallel-regions.md): The ability to model concurrently-active, independent regions of state within one machine.
- [Pluggable Handling](https://banes-lab.com/records/lexicon/pluggable-handling.md): The ability to add or reorder request handlers without changing the ones already in the chain.
- [Runtime Behavior Selection](https://banes-lab.com/records/lexicon/runtime-behavior-selection.md): The ability to choose among interchangeable algorithms at runtime.
- [Snapshot/Restore](https://banes-lab.com/records/lexicon/snapshot-restore.md): The ability to capture an object's state and later restore it to that captured point.
- [State-Local Behavior](https://banes-lab.com/records/lexicon/state-local-behavior.md): The ability to attach behavior to each state so an object acts according to its current state.
- [Structure-Agnostic Iteration](https://banes-lab.com/records/lexicon/structure-agnostic-iteration.md): The ability to traverse a collection without depending on how it is internally organized.
- [Fail-Safe Defaults](https://banes-lab.com/records/lexicon/fail-safe-defaults.md): Defaulting to safe, benign behavior when a value or handler is absent rather than failing or branching.
- [Explicit State Model](https://banes-lab.com/records/lexicon/explicit-state-model.md): The requirement that an object's states and their transitions be modeled explicitly.
- [Explicit State Set](https://banes-lab.com/records/lexicon/explicit-state-set.md): The requirement that the complete set of possible states be defined up front.
- [Interchangeable Algorithms](https://banes-lab.com/records/lexicon/interchangeable-algorithms.md): The requirement that competing algorithms share one interface so they can be swapped freely.
- [Shared Behavioral Interface](https://banes-lab.com/records/lexicon/shared-behavioral-interface.md): The requirement that the real object and its null stand-in implement one common interface.
- [Stable Algorithm Skeleton](https://banes-lab.com/records/lexicon/stable-algorithm-skeleton.md): The requirement that the overall algorithm's structure stay fixed while specific steps vary.
- [Stable Element Hierarchy](https://banes-lab.com/records/lexicon/stable-element-hierarchy.md): The requirement that the set of element types stay fixed so new operations can be added over them.
- [Subject/Subscriber Contract](https://banes-lab.com/records/lexicon/subject-subscriber-contract.md): The requirement of an agreed interface by which subjects notify and subscribers receive updates.
- [Uniform Handler Interface](https://banes-lab.com/records/lexicon/uniform-handler-interface.md): The requirement that every handler in a chain share one interface so requests pass along uniformly.
- [Uniform Traversal Interface](https://banes-lab.com/records/lexicon/uniform-traversal-interface.md): The requirement that collections expose one common interface for stepping through their elements.
- [Class Count](https://banes-lab.com/records/lexicon/class-count.md): The degree to which extracting each algorithm into its own class raises the total number of classes.
- [Class Proliferation](https://banes-lab.com/records/lexicon/class-proliferation.md): The degree to which modeling each state as its own class multiplies the number of classes.
- [Coordination Complexity](https://banes-lab.com/records/lexicon/coordination-complexity.md): The degree of complexity in how objects must coordinate, which motivates a mediator.
- [Element Stability](https://banes-lab.com/records/lexicon/element-stability.md): The degree to which adding new operations stays easy only while the set of element types stays fixed.
- [Inheritance Coupling](https://banes-lab.com/records/lexicon/inheritance-coupling.md): The degree to which basing a template method on subclassing binds subclasses tightly to the base class.
- [Mediator God Object](https://banes-lab.com/records/lexicon/mediator-god-object.md): The degree to which concentrating interaction logic in a mediator risks growing it into an overloaded object.
- [Memory Footprint](https://banes-lab.com/records/lexicon/memory-footprint.md): The degree of memory consumed by retaining state snapshots for later restoration.
- [Silent No-Op Risk](https://banes-lab.com/records/lexicon/silent-no-op-risk.md): The degree to which a do-nothing stand-in can hide an error.
- [State Explosion](https://banes-lab.com/records/lexicon/state-explosion.md): The degree to which the number of explicit states grows unmanageably as conditions multiply.
