Software Abstraction

Roles: interface, implementation, consumer, internals, layer

The practice of hiding implementation details behind stable interfaces so that consumers interact with a simplified model. Layers of abstraction trade direct control for manageable complexity. Interesting as both source and target domain — software abstraction itself borrows from architecture, while providing metaphors for any situation where a clean surface conceals messy internals.

As Target Frame (8)