Программирование в функциональном стиле в Delphi

Вольный перевод поста Functional programming style in Delphi.

Парадигма функционального программирования находит свой путь даже в Delphi — императивном языке без сборщика мусора. Рассмотрим следующий пример кода, который меняет заголовок кнопки используя расширенный RTTI (требуется версия Delphi 2010 или выше).

При анализе этого кода обратите внимание на следующее:

  • Тип TRttiContext - запись (record); вам не нужно создавать и уничтожать переменную с типом запись в том виде как это делается для объектов.
  • TRttiProperty и TRttiType - классы; Экземпляры этих классов создаются соответствующими методами классов TRttiType и TRttiContext, но вам не нужно уничтожать их самостоятельно — лежащая в основе них расширенная реализация RTTI заботится об этом сама.

В результате код может переписан в функциональном стиле:

Все переменные стали не нужны и нет утечек памяти.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *