Как использовать таблицы решений для вашего приложения
-
02-07-2019 - |
Вопрос
Некоторое время назад я узнал о деревьях решений и таблицах решений.Я считаю, что таблицы решений могут помочь с условными операторами «если-то-иначе».В частности, я считаю, что таблицы решений не имеют побочных эффектов, например, если вы не заметили, что вам нужен еще один оператор «иначе, если».
Но я не уверен, как я смогу это реализовать.Массивы?Таблицы базы данных?Кто-нибудь сейчас использует таблицы решений в своем коде?
Решение
Я очень рекомендую главу 18 Код завершен.
Вы также можете проверить этот пост Что такое табличные методы
Другие советы
Ну, я провел собственное исследование :S
- Это что-то от IBM о таблицах решений, используемых для создания сценариев тестирования
- Это от компании, которая составляет таблицы решений которые затем переводятся в операторы if-then-else в vb.net.
- Рабочий процесс Ruby с открытым исходным кодом и механизм bpm который использует таблицы решений.
Итак, я все еще ищу.Если у кого-то есть хорошие ответы, пожалуйста, введите их.
Мультиплатформенный CCIDE-0.5.0-6 (или более поздняя версия) доступен на SourceForge и Github.
См. веб-страницу по адресу http://twysf.users.sourceforge.net/
Табличный метод использует структуры данных вместо операторов if-then для управления логикой программы.Например, если вы обрабатываете два типа записей (телевизионные и кабельные), вы можете сделать следующее:
хэш[tv] = процессTvRecords
хеш[кабель] = процессCableRecords
В некоторых языках, таких как Ruby или Perl, этот метод прост.В Java вам нужно будет использовать Reflection для поиска дескрипторов методов.
Если вы хотите узнать о таблицах решений, изучите систему тестирования Fitnesse на сайте http://fitnesse.org/.
На сегодняшний день лучшая реализация таблиц решений, которую я видел, — это приложение Prologa, которое можно загрузить по адресу http://www.econ.kuleuven.be/prologa.К сожалению, он доступен только в Windows, и ожидание оценочного ключа может занять небольшую задержку.
Программное обеспечение обрабатывает небинарные условия, может сворачивать аналогичные правила и фактически отслеживает количество комбинаций, которые в настоящее время охватывает ваша таблица, поэтому оно отлично подходит для проверки полноты особенно больших таблиц.Также корректно обрабатывает вложенные таблицы (где результат одной таблицы может быть условием другой таблицы).