«Искусство метаобъектного протокола» ( AMOP ) — книга 1991 года, написанная Грегором Кицзалесом , Джимом де Ривьером и Дэниелом Г. Бобровым (все трое работают в Xerox PARC ) и посвящённая метаобъектному протоколу .
Книга содержит объяснение того, что такое метаобъектный протокол, почему он желателен, и фактический стандарт для метаобъектного протокола, поддерживаемый многими реализациями Common Lisp как расширение Common Lisp Object System , или CLOS. [1] Более полная и переносимая реализация CLOS и метаобъектного протокола, как определено в этой книге, была предоставлена Xerox PARC как Portable Common Loops. [2]
В книге представлена упрощенная реализация CLOS для Common Lisp под названием «Closette», которая ради педагогической краткости не включает некоторые из более сложных или экзотических функций CLOS, такие как прямая ссылка на суперклассы, полное переопределение классов и методов, расширенные пользовательские комбинации методов и полная интеграция классов CLOS с системой типов Common Lisp . В ней также отсутствует поддержка компиляции и большинства проверок на ошибки, поскольку цель Closette — не фактическое использование, а просто демонстрация фундаментальной мощи и выразительной гибкости протоколов метаобъектов как приложения принципов метациклического оценщика . [3]
В своей речи на OOPSLA в 1997 году Алан Кей назвал ее «лучшей книгой, написанной кем-либо за последние десять лет», и утверждал, что она содержит «некоторые из самых глубоких и самых практичных идей об ООП », но был встревожен тем, что она была написана в сильно ориентированной на Lisp и специфической для CLOS манере, назвав ее «трудной для чтения книгой для большинства людей; если вы не знаете культуру Lisp , ее очень трудно читать». [4] [5]