# Extract Role Interface

> A technique for splitting the operations one client role uses into an interface of their own.

Record: `lexicon:extract-role-interface`
Kind: technique
Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-extract-role-interface

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Extract Interface](https://banes-lab.com/records/lexicon/extract-interface.md) and before [Split Interface](https://banes-lab.com/records/lexicon/split-interface.md).

## Category

- [SOLID / Object-Oriented Design](https://banes-lab.com/records/lexicon-category/solid-object-oriented-design.md)

## Refactors

- [Interface Segregation Principle](https://banes-lab.com/records/architecture/interface-segregation.md)
- [Capability Declaration](https://banes-lab.com/records/architecture/capability-declaration.md)

## Linked from

- [SOLID / Object-Oriented Design](https://banes-lab.com/ontology/principles/architecture-category-solid-object-oriented-design.md)
- [Metadata / Self-Description / Declarative Systems](https://banes-lab.com/ontology/principles/architecture-category-metadata-self-description-declarative-systems.md)
