Закоулки мозга

Программирование в основном состоит из описания того, как можно опознать [значимые] состояния, и описания действий, которые должны быть выполнены для каждого из возможных состояний. При этом [в табличных методах] значительная часть логики реализуется автоматически, так что время создания программы существенно сокращается.

Программирование таблиц решений


  • Рассмотрены ли табличные методы в качестве альтернативы сложной логике?
  • Рассмотрены ли табличные методы в качестве альтернативы сложным структурам с наследованием?
  • Рассмотрен ли вопрос размещения табличных данных отдельно от программы и их чтения во время выполнения, чтобы позволить обновлять данные без изменения кода?
  • Если доступ к таблице нельзя осуществить напрямую с помощью простого индекса массива (как в примере с возрастами), помещены ли вычисления ключа доступа в отдельный метод, а не разбросаны по всему коду?

Ключевые моменты

  • Таблицы представляют собой альтернативу сложной логике и структурам с наследованием. Если вы понимаете, что сбиты с толку логикой программы или деревом наследования, спросите себя, не проще ли использовать таблицу поиска.
  • Основной вопрос при использовании таблиц состоит в выборе способа доступа к таблице. Вы можете использовать прямой, индексный или ступенчатый доступ.
  • Другой основной вопрос состоит в выборе того, что конкретно будет помещено в таблицу.