parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Красивое решение по переопределению методов класса?

Саян 23.02.2013 20:14

Дано:
1. Первыми загружаются основные библиотеки сайта, к которым НЕ относится наш класс (форум).
2. Затем определяется, какой дизайн-шаблон будет использоваться.
3. И только потом загружается форум. Причем нельзя точно сказать когда и откуда именно - его может вызвать как сама страница, так и кусок фотогалереи на ней, для которой разрешены комментарии.

Задача: переопределить используемые по умолчанию методы вывода, например, способ отображения профиля пользователя рядом с его сообщением.

(1)Если делать форум partial-классом, и переопределять какие-то его части в дизайн-шаблоне, это, очевидно, не сработает, поскольку переопределяющим будет форум и его дефолтные методы.

(2)Наследовать форум другим классом - в данном случае это только плодит сущности, а каждый новый класс будет иметь uid64-подобное имя. Не вариант.

(3)Поместить форум в основные библиотеки - +25% к памяти, не вариант. Поместить в основные библиотеки только те методы (снова partial-подход), которые могут быть востребованы дизайнером - это обрекать разработчика на подвешенность (а вдруг что-то еще понадобится?)
Проверять ^if($design:some_method is junction) - к этому же относится.

А как вы в своих проектах решили бы подобную задачу?