SV0L0CH,
Так и просится сказать "я ему про Фому, а он мне про Ерёму".
Попробую с другой стороны объяснить. Если взять, скажем, код на дотнете или на джаве, то там есть такое понятие как атрибуты. Атрибут можно создать самому, и потом любой метод класса пометить этим самым атрибутом. Далее, есть рефлексия, которая, среди прочего, позволяет программно итерировать по множеству методов класса и определять задан ли такой-то атрибут для такого-то метода. И таким образом программист имеет возможность выделить в классе подмножество методов и потом что-то с ним сделать.
Прошу обратить внимание на локальность этого процесса. Пометка атрибутом происходит точно в том месте, где метод объявляется. Это принципиально отличается от предложенного выше способа, при котором мне надо где-то отдельно в коде писать obj.myFunction.isSpecial = true; Как минимум отличается тем, что имя помеченной функции упоминается в коде дважды - в месте её определения и в месте, где ее помечают. Дублирование злейший враг сопровождаемости кода, и мне этот способ не подходит.
Если бы я готов был смириться с дублированием, то завёл бы массив с именами функций и проблемы бы не было.
Последний раз редактировалось Tranquill, 13.04.2017 в 21:27.
|