Пишу как-то код для пользовательского интерфейса на Ruby/wxRuby и прихожу к выводу, что при редактировании списка очень удобно использовать машину состояния или таблицы решений для того, чтобы активировать и деактивировать те или иные кнопки по текущему состоянию
Но вот ведь проблема: код, который активирует только эти кнопки легко написать за 30 минут. Но расширить его не просто, да и отладить сложно.
Надо бы придумать как можно использовать таблицу решений. Но её еще нужно будет реализовать. Найденная библиотека не очень устраивает, ввиду использования строковых определителей, и нет возможности вызывать каллбэки (лямбды или проки).
Пришлось думать о том, чтобы создать свою реализацию. Но как инициализировать таблицу решений? Склоняюсь к двум способам: DSL или базовые конструкции Ruby.
Но вот ведь проблема: код, который активирует только эти кнопки легко написать за 30 минут. Но расширить его не просто, да и отладить сложно.
Надо бы придумать как можно использовать таблицу решений. Но её еще нужно будет реализовать. Найденная библиотека не очень устраивает, ввиду использования строковых определителей, и нет возможности вызывать каллбэки (лямбды или проки).
Пришлось думать о том, чтобы создать свою реализацию. Но как инициализировать таблицу решений? Склоняюсь к двум способам: DSL или базовые конструкции Ruby.

Комментариев нет:
Отправить комментарий