Читая вашу вдохновляющую статью, я вспомнил, что в прошлом узнавал о некоторых других связанных темах. Лично я не думаю, что компонент — это хорошее название для выбора — это перегруженное понятие, особенно в области JavaScript и Интернета.

MOP = протокол метаобъекта

MOP на самом деле является предопределенной аббревиатурой в поле OOP: Metaobject Protocol. Это описывает объектно-ориентированный протокол, который определяет, как должна работать объектная система. Наиболее ярким примером MOP является тот, который определяет объектную систему ANSI Common Lisp (CLOS). В классах CLOS слоты, методы и т. д. — это просто объекты. Их называют метаобъектами, потому что они описывают, как объекты работают и, следовательно, живут на «метаслое». Оригинальная книга об этом — «Искусство протокола метаобъектов» Грегора Кицалеса — очень вдохновляющая книга с полным кодом о том, как запустить CLOS путем реализации протокола метаобъектов.

Актер Модель

Сообщение, передаваемое ООП, которое вы описываете, имеет свои корни в модели акторов, описанной Хьюиттом, Бишопом и Стайгером (1973). Это действительно одно из основных влияний ООП, и в настоящее время оно еще более интересно как идея для моделирования крупномасштабных параллельных систем.