Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Composites

Boost , ,

Composites

Актеры могут быть объединены множеством способов формирования композитов. Композиты - это актеры, которые состоят из нуля или более актеров. Состав является иерархическим. Элемент композита может быть примитивным или другим композитом. Гибкость к произвольному составлению иерархических структур позволяет формировать замысловатые конструкции, моделирующие сложные функции, высказывания и выражения.

Композит представляет собой более или менее кортеж из 0.. N акторов плюс объект операции (некоторые специализированные композиты подразумевают операции, т.е. сам композит подразумевает операцию). Композитный класс объявляется неофициально как:

    template <
        typename OperationT,
        typename A0 = nil_t,
        typename A1 = nil_t,
        typename A2 = nil_t,
         ...
        typename AN = nil_t
    >
    struct composite {
        OperationT op;              //  operation
        A0 a0; A1 a1; ... AN an;    //  actors
    };

Это может быть рекурсивно. Как уже упоминалось, каждый из актеров А0. АН, в свою очередь, может быть еще одним композитом, поскольку композит сам по себе является актерским суперклассом и соответствует его ожидаемому концептуальному интерфейсу. Композитные специализации предназначены для работы с различными числами участников от нуля (0) до заданного максимума.

За исключением специализированных композитов, таких как актер и в отличие от примитивов, композит представляет собой класс протоколов. Композит на самом деле не знает, как что-то делать. Фактическая операция выполняется ее участниками и, наконец, ее операцией. После того, как он получил аргументы, переданные актером, все аргументы передаются всем актерам композита для предварительной обработки. Каждый из актеров композита в свою очередь возвращает результат. Эти результаты затем переносятся на операцию «op» композита.

Если поначалу это может показаться запутанным, не волнуйтесь. Более подробная информация будет предоставлена позже для тех, кто склонен узнать больше о структуре наизнанку. Однако такая информация вовсе не требуется для использования рамок. Ведь композиты не создаются напрямую. Вместо этого предусмотрены некоторые средства для производства композитов. Эти генераторы являются передними. Мы видели вар (x), вал (x) и конст (x). Это действительно генераторы, которые создают примитивы. Кроме того, у нас есть генераторы, которые создают композиты.

Просто подумайте о композитах как о вашем позвоночнике. Вам не нужно тщательно изучать его, чтобы использовать его; он просто работает. Композит действительно является основой структуры Феникса.



Статья Composites раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-21 22:27:45/0.0063729286193848/0