Presentación-abstracción-control ( PAC ) es un patrón arquitectónico de software . Es una arquitectura de software orientada a la interacción y es algo similar a modelo-vista-controlador (MVC) en el sentido de que separa un sistema interactivo en tres tipos de componentes responsables de aspectos específicos de la funcionalidad de la aplicación. El componente de abstracción recupera y procesa los datos, el componente de presentación formatea la presentación visual y de audio de los datos, y el componente de control maneja aspectos como el flujo de control y la comunicación entre los otros dos componentes. [1]
A diferencia de MVC, PAC se utiliza como una estructura jerárquica de agentes, cada uno de los cuales consta de una tríada de partes de presentación, abstracción y control. Los agentes (o tríadas) se comunican entre sí solo a través de la parte de control de cada tríada. También se diferencia de MVC en que dentro de cada tríada, aísla completamente la presentación (vista en MVC) y la abstracción (modelo en MVC). Esto proporciona la opción de realizar subprocesos múltiples por separado en el modelo y la vista, lo que puede brindar al usuario la experiencia de tiempos de inicio del programa muy cortos, ya que la interfaz de usuario (presentación) se puede mostrar antes de que la abstracción se haya inicializado por completo.
Historia
PAC fue desarrollado inicialmente por el científico informático francés , Joëlle Coutaz en 1987. [2] [3] Coutaz fundó el grupo de Interfaz de Usuario en el Laboratoire de Génie Informatique de IMAG. [4]
^ Kai, Qian (2009). "Arquitecturas de software orientadas a la interacción". Arquitectura y diseño de software iluminados . Jones y Bartlett Illuminated. pág. 200. ISBN978-0-7637-5420-4.
^ "Coutaz, Joëlle". Encuentros con pioneros de HCI: un diario fotográfico personal . 2015-12-05 . Consultado el 2018-11-23 .
^ Coutaz, Joëlle (1 de octubre de 1987). "PAC". Boletín ACM SIGCHI . 19 (2): 37–41. doi : 10.1145/36111.1045592 . ISSN 0736-6906.
^ Unger, Claus; Bass, Leonard J. (9 de enero de 2016). Ingeniería para HCI. Springer. pág. 43. ISBN9780387349077.
^ Nigay, Laurence; Coutaz, Joëlle (1991). "Construcción de interfaces de usuario: organización de agentes de software". Conferencia ESPRIT '91. Bruselas, Bélgica: noviembre de 1991. CiteSeerX 10.1.1.53.606 .
^ Nigay, Laurence (enero de 1994). Conception et modélisation logicielles des systèmes interactifs: aplicación aux interfaces multimodales (PDF) (en francés e inglés). Tesis doctoral, 315 páginas, Universidad de Grenoble, Francia. págs. 131–268.
^ Nigay, Laurence; Coutaz, Joëlle (1997). "Modelado de arquitectura de software: uniendo dos mundos mediante la ergonomía y las propiedades del software" (PDF) . Métodos formales en la interacción hombre-ordenador . Springer-Verlag. Capítulo 3, págs. 49-73. ISBN.978-3-540-76158-7.
Referencias
Coutaz, Joëlle (1987). "PAC: un modelo de implementación para el diseño de diálogos". En Bullinger, H.-J.; Shackel, B. (eds.). Actas de la conferencia Interact'87, 1-4 de septiembre de 1987, Stuttgart, DE . Holanda Septentrional. págs. 431-436.
Buschmann, Frank; Meunier, Régine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael (1996). Arquitectura de software orientada a patrones Vol. 1: un sistema de patrones . John Wiley e hijos. págs. 145-168. ISBN 978-0-471-95869-7.
Calvario, Gaëlle; Coutaz, Joëlle; Nigay, Laurence (1997). "Del diseño arquitectónico de usuario único a PAC*: un modelo de arquitectura de software genérico para CSCW". En Pemberton, Steven (ed.). Actas de la conferencia ACM CHI 97 sobre factores humanos en sistemas informáticos, 22-27 de marzo de 1997, Atlanta, GA . pp. 242–249. Archivado desde el original el 25 de agosto de 2007. Consultado el 24 de mayo de 2006 .
Coutaz, Joëlle (1997). "PAC-ing the Architecture of Your User Interface" (Cómo PACificar la arquitectura de su interfaz de usuario) (PDF) . DSV-IS'97, 4.º taller de Eurographics sobre diseño, especificación y verificación de sistemas interactivos . Springer Verlag. págs. 15–32.
Markopoulos, Panagiotis (1997). Un modelo compositivo para la especificación formal de software de interfaz de usuario (PDF) . Tesis doctoral, Queen Mary and Westfield College, Universidad de Londres. p. 26. Archivado desde el original (PDF) el 2006-05-30 . Consultado el 2006-05-25 .
Avgeriou, París; Zdun, Uwe (2005). "Architectural patterns revisited – a pattern language" (PDF) . Actas de la 10.ª Conferencia Europea sobre Lenguajes de Patrones de Programas (EuroPlop 2005), Irsee, Alemania, julio de 2005. pp. 1–39.
Enlaces externos
Esquema arquitectónico del juego Warcraft tal como podría implementarse utilizando el patrón arquitectónico PAC: Programación de la aplicación PACcraft:Arquitectura (en francés)
Patrón: Presentación-Abstracción-Control (descripción del patrón)
Descripción de PAC en el Repositorio de Patrones de Portland
WengoPhone es una aplicación VoIP de software libre escrita utilizando el patrón de diseño PAC.
Descripción de PAC y motivación para su uso en WengoPhone.
Código de demostración, cortesía de la comunidad OpenWengo.
Cai, Jason; Kapila, Ranjit; Pal, Gaurav (21 de julio de 2000). "HMVC: El patrón en capas para desarrollar niveles de cliente sólidos". JavaWorld . Consultado el 18 de julio de 2020 .