Presentación–abstracción–control (PAC) es un patrón de arquitectura de software para sistemas interactivos, similar al Modelo Vista Controlador (MVC). 
Se basa en una jerarquía de agentes cooperantes en la que, al igual que el Modelo Vista Controlador, se divide un sistema interactivo en tres tipos de componentes o capas, destinadas a desarrollar funciones específicas dentro de la funcionalidad del sistema. Los componentes, que dan el nombre al patrón, son:.[1]​ 

Abstracción: es el que recupera y procesa los datos y su funcionalidad, como en MVC. Sin embargo solamente posee una parte de toda la estructura de datos.Presentación: presenta la información y/o la lógica de operaciones en un formato previamente asignado, que corresponda con el tipo de información (audio, video...) y que sea adecuado para interactuar.Control: se encarga de asuntos como el flujo de control y de la comunicación entre los otros dos componentes. Éste es el que conecta la capa de presentación con los componentes de la capa de abstracción y provee una funcionalidad que permite a los agentes comunicarse con otros agentes PAC. Todos los agentes se comunican sólo a través de este tipo de componente.Estructura de una aplicación con PAC:

La estructura jerárquica del patrón PAC difiere con la estructura del MVC. Otro aspecto en el que difieren, es que en patrón PAC siempre se halla completamente aislada la presentación ("vista" en MVC) y la abstracción ("modelo" en MVC). Esto permita la opción de multihilar el "modelo" y la "vista" separadamente, haciendo que la interfaz (presentación) pueda ser mostrada antes que la abstracción haya inicializado completamente.