# Leaf-vs-Container Special-Casing

> Branching client code on whether an element is a leaf or a container instead of treating them through one interface.

Record: `lexicon:leaf-vs-container-special-casing`
Kind: anti-pattern
Layer: [Design Patterns Core](https://banes-lab.com/records/layer/design-patterns-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-leaf-vs-container-special-casing

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Direct External Coupling](https://banes-lab.com/records/lexicon/direct-external-coupling.md) and before [Leaky Subsystem API](https://banes-lab.com/records/lexicon/leaky-subsystem-api.md).

## Category

- [Structural Patterns](https://banes-lab.com/records/lexicon-category/structural-patterns.md)

## Negated by

- [Composite Pattern](https://banes-lab.com/records/architecture/composite-pattern.md)

## Linked from

- [Structural Patterns](https://banes-lab.com/ontology/principles/architecture-category-structural-patterns.md)
