Программирование в основном состоит из описания того, как можно опознать [значимые] состояния, и описания действий, которые должны быть выполнены для каждого из возможных состояний. При этом [в табличных методах] значительная часть логики реализуется автоматически, так что время создания программы существенно сокращается.
- Рассмотрены ли табличные методы в качестве альтернативы сложной логике?
- Рассмотрены ли табличные методы в качестве альтернативы сложным структурам с наследованием?
- Рассмотрен ли вопрос размещения табличных данных отдельно от программы и их чтения во время выполнения, чтобы позволить обновлять данные без изменения кода?
- Если доступ к таблице нельзя осуществить напрямую с помощью простого индекса массива (как в примере с возрастами), помещены ли вычисления ключа доступа в отдельный метод, а не разбросаны по всему коду?
Ключевые моменты
- Таблицы представляют собой альтернативу сложной логике и структурам с наследованием. Если вы понимаете, что сбиты с толку логикой программы или деревом наследования, спросите себя, не проще ли использовать таблицу поиска.
- Основной вопрос при использовании таблиц состоит в выборе способа доступа к таблице. Вы можете использовать прямой, индексный или ступенчатый доступ.
- Другой основной вопрос состоит в выборе того, что конкретно будет помещено в таблицу.