# Constructor-Valid State

> A technique for having a constructor or factory accept only arguments that produce a valid object.

Record: `lexicon:constructor-valid-state`
Kind: technique
Layer: [Design Patterns Core](https://banes-lab.com/records/layer/design-patterns-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-constructor-valid-state

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Inheritance Complexity](https://banes-lab.com/records/lexicon/inheritance-complexity.md) and before [Repeated Expensive Setup](https://banes-lab.com/records/lexicon/repeated-expensive-setup.md).

## Category

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

## Refactors

- [Temporal Coupling](https://banes-lab.com/records/architecture/temporal-coupling.md)

## Linked from

- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
