табличные методы
От: Jandor Россия  
Дата: 25.11.05 01:36
Оценка:
Всем привет.
Человек я здесь новый, так что строго не судите
Сам я пишу на Дельфи, поэтому на нее и ориентируюсь.
Понятно, что если в языках давно есть указатель на функцию/процедуру, то не мне первому эта идея в голову пришла. Мне неясно только, почему реализацию этой идеи я практически не встречаю. Может, плохо смотрю?

Сложную логику (вложенные if'ы), реузьтатом которых является присвоение чего-либо одной переменной, можно схлопнуть в const массив и обращаться к его элементам, используя как индекс само условие (благо, в Дельфи индекс массива пожет иметь любой перечислимый тип, в том числе и Boolean).
Возможно, что нужно будет использовать хеш-функцию для отображения "условий" на индекс массива.
Const-массив указателей на функции дает нам "дешевый" полиморфизм.
Вообще индексация схожих по смыслу вещей (ответов, действий, полей записи — пример поля TRect и TPoint...) дает основу для нехилого обобщения и уменьшения (!) кода, чем я сам регулярно пользуюсь.

Вот... вообще я это уже нашел в Code Complete под названием "Табличные методы", но там далеко не все, что у меня сейчас в голове роится.

Всем спасибо за внимание!

P.S. Наверное, это меня haskell испортил
[yellow leaf]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.