Представление–абстракция–управление ( PAC ) — это программный архитектурный шаблон . Это ориентированная на взаимодействие архитектура программного обеспечения, которая несколько похожа на модель–представление–контроллер (MVC) в том, что она разделяет интерактивную систему на три типа компонентов, отвечающих за определенные аспекты функциональности приложения. Компонент абстракции извлекает и обрабатывает данные, компонент представления форматирует визуальное и звуковое представление данных, а компонент управления обрабатывает такие вещи, как поток управления и связь между двумя другими компонентами. [1]
В отличие от MVC, PAC используется как иерархическая структура агентов, каждый из которых состоит из триады представления, абстракции и управляющей части. Агенты (или триады) взаимодействуют друг с другом только через управляющую часть каждой триады. Он также отличается от MVC тем, что внутри каждой триады он полностью изолирует представление (представление в MVC) и абстракцию (модель в MVC). Это обеспечивает возможность раздельной многопоточности модели и представления, что может дать пользователю возможность очень короткого времени запуска программы, поскольку пользовательский интерфейс (представление) может быть показан до полной инициализации абстракции.
История
Первоначально PAC был разработан французским ученым-компьютерщиком Жоэль Кутаз в 1987 году . [2] [3] Кутаз основал группу пользовательских интерфейсов в Лаборатории информатики IMAG. [4]
^ Кай, Цянь (2009). «Интерактивно-ориентированные архитектуры программного обеспечения». Архитектура и дизайн программного обеспечения Illuminated . Jones and Bartlett Illuminated. стр. 200. ISBN978-0-7637-5420-4.
^ "Coutaz, Joëlle". Встречи с пионерами HCI - Личный фотожурнал . 2015-12-05 . Получено 2018-11-23 .
^ Унгер, Клаус; Басс, Леонард Дж. (2016-01-09). Инженерное дело для HCI. Springer. стр. 43. ISBN9780387349077.
^ Нигай, Лоренс; Кутаз, Жоэль (1991). «Создание пользовательских интерфейсов: организация программных агентов». Конференция ESPRIT '91. Брюссель, Бельгия: ноябрь 1991 г. CiteSeerX 10.1.1.53.606 .
^ Нигай, Лоуренс (январь 1994 г.). Концепция и моделирование логики интерактивных систем: многомодальные приложения с интерфейсами (PDF) (на французском и английском языках). Кандидатская диссертация, 315 страниц, Университет Гренобля, Франция. стр. 131–268.
^ Нигай, Лоренс; Кутаз, Жоэль (1997). "Моделирование архитектуры программного обеспечения: объединение двух миров с помощью эргономики и свойств программного обеспечения" (PDF) . Формальные методы взаимодействия человека и компьютера . Springer-Verlag. глава 3, стр. 49–73. ISBN978-3-540-76158-7.
Ссылки
Кутаз, Жоэль (1987). «PAC: модель реализации для проектирования диалогов». В Bullinger, H.-J.; Shackel, B. (ред.). Труды конференции Interact'87, 1–4 сентября 1987 г., Штутгарт, Германия . Северная Голландия. стр. 431–436.
Бушманн, Франк; Менье, Регина; Ронерт, Ганс; Соммерлад, Питер; Сталь, Майкл (1996). Шаблонно-ориентированная архитектура программного обеспечения. Том 1: Система шаблонов . Джон Уайли и сыновья. стр. 145–168. ISBN 978-0-471-95869-7.
Calvary, Gaëlle; Coutaz, Joëlle; Nigay, Laurence (1997). "From Single-User Architectural Design to PAC*: a Generic Software Architecture Model for CSCW". В Pemberton, Steven (ред.). Proceedings of the ACM CHI 97 Human Factors in Computing Systems Conference, 22–27 марта 1997 г., Атланта, Джорджия . С. 242–249. Архивировано из оригинала 25-08-2007 . Получено 24-05-2006 .
Кутаз, Жоэль (1997). «PAC-ing the Architecture of Your User Interface» (PDF) . DSV-IS'97, 4-й семинар Eurographics по проектированию, спецификации и проверке интерактивных систем . Springer Verlag. стр. 15–32.
Маркопулос, Панайотис (1997). Композиционная модель для формальной спецификации программного обеспечения пользовательского интерфейса (PDF) . Кандидатская диссертация, Колледж королевы Марии и Вестфилда, Лондонский университет. стр. 26. Архивировано из оригинала (PDF) 2006-05-30 . Получено 2006-05-25 .
Avgeriou, Париж; Zdun, Uwe (2005). «Пересмотр архитектурных шаблонов – язык шаблонов» (PDF) . Труды 10-й Европейской конференции по языкам шаблонов программ (EuroPlop 2005), Ирзее, Германия, июль 2005 г. стр. 1–39.
Внешние ссылки
Архитектурный план игры Warcraft , который может быть реализован с использованием архитектурного шаблона PAC: Программирование приложения PACcraft:Architecture (на французском)
Cai, Jason; Kapila, Ranjit; Pal, Gaurav (21 июля 2000 г.). "HMVC: многоуровневая модель для разработки сильных клиентских уровней". JavaWorld . Получено 18 июля 2020 г.