Это зависит от ваших приоритетов.
Если производительность является главным приоритетом, переходите к записям. Но если реализация скрывается сверху, переходите на интерфейсы.
Но почему бы не использовать пакет, чтобы вы могли использовать статическое и динамическое связывание, если хотите. Конечно, DLL предпочтительнее, если код будет использоваться другими языками, лучше использовать DLL.
Нижняя строка, требования и их относительный приоритет определяют реализацию.