Использование паттерна приспособленец а примере хранения фамилий и имен. В большом приложении для хранения полей, где часто будут повторятся текстовые объекты (фамилии, имена, адреса и т. д.), следует использовать отдельное хранилище для ведения реестра уникальных значений поля. В конкретной записи будет храниться не текстовое значение поле а ссылка (индекс) записи значения из реестра.
Рассмотрим пример на использование подхода с классом User и хранением имени и фамилии пользователей.
Для хранения 6 полей имени-фамилии используется только 4 текстовых поля, так как имена и фамилии повторяются