# Introduce Port

> A technique for declaring an interface owned by the core that names what it needs from the outside world.

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

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Shared Technical Concerns](https://banes-lab.com/records/lexicon/shared-technical-concerns.md) and before [Extract Adapter](https://banes-lab.com/records/lexicon/extract-adapter.md).

## Category

- [Codebase / System Architecture Styles](https://banes-lab.com/records/lexicon-category/codebase-system-architecture-styles.md)

## Refactors

- [Concrete Coupling](https://banes-lab.com/records/architecture/concrete-coupling.md)
- [Transaction Script Sprawl](https://banes-lab.com/records/architecture/transaction-script-sprawl.md)
- [Repository Dump](https://banes-lab.com/records/architecture/repository-dump.md)
- [Framework Leakage](https://banes-lab.com/records/architecture/framework-leakage.md)
- [Vendor Lock-In Leakage](https://banes-lab.com/records/architecture/vendor-lock-in-leakage.md)
- [Portability](https://banes-lab.com/records/architecture/portability.md)
- [Platform Independence](https://banes-lab.com/records/architecture/platform-independence.md)
- [Protocol Independence](https://banes-lab.com/records/architecture/protocol-independence.md)
- [Abstraction](https://banes-lab.com/records/architecture/abstraction.md)
- [Replaceability](https://banes-lab.com/records/architecture/replaceability.md)
- [Independence](https://banes-lab.com/records/architecture/independence.md)
- [Dependency Inversion Principle](https://banes-lab.com/records/architecture/dependency-inversion.md)
- [Artificial Intelligence Architecture](https://banes-lab.com/records/architecture/artificial-intelligence-architecture.md)
- [Ports and Adapters Architecture](https://banes-lab.com/records/architecture/ports-and-adapters-architecture.md)
- [Layered Architecture](https://banes-lab.com/records/architecture/layered-architecture.md)

## Linked from

- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
- [Portability / Infrastructure / Deployment](https://banes-lab.com/ontology/principles/architecture-category-portability-infrastructure-deployment.md)
- [Core Modular Design](https://banes-lab.com/ontology/principles/architecture-category-core-modular-design.md)
- [SOLID / Object-Oriented Design](https://banes-lab.com/ontology/principles/architecture-category-solid-object-oriented-design.md)
- [Model Architecture](https://banes-lab.com/ontology/principles/architecture-category-model-architecture.md)
- [Codebase / System Architecture Styles](https://banes-lab.com/ontology/principles/architecture-category-codebase-system-architecture-styles.md)
