У вас есть в основном три варианта:
- Использовать записи
- Использовать списки ассоциаций (проплисты)
- Используйте комбинацию
Я использую записи, где вероятность их изменения очень мала. Таким образом я получаю сопоставление с образцом и ускоряю то, что хочу.
Я использую проплисты, где мне нужна функциональность, подобная хеш-таблице. Я получаю гибкость за счет сопоставления с образцом и скорости.
И иногда я использую оба. Запись с одним полем, которая является проплистом. Таким образом, я могу сопоставлять паттерны на его части и при этом иметь гибкость там, где мне это нужно.
Все три варианта имеют разные компромиссы, поэтому вам просто нужно оценить ваши конкретные потребности и сделать выбор. Может потребоваться некоторое прототипирование и игра, чтобы выяснить, какие компромиссы имеют смысл и какие функции вам абсолютно необходимы.