Как лучше организовать классы с большим числом полей?
Вопрос вот в чём. Есть сущности, которые могут иметь порядка 50 свойств (в течение жизненного цикла ПО это число периодически может меняться). Вижу два основных варианта организации таких классов:
1. В лоб: класс, в котором очень много полей.
2. Создать свою простую универсальную структуру для хранения связки "имя поля" - "значение" (с необходимыми методами по записи и поиску) и запихнуть всё в массив или список, где каждый элемент - это экземпляр такой структуры.
Можно сделать рабочим оба варианта, но какой путь правильнее? Или же оба плохи, а есть паттерн, применение которого будет целесообразно?
К слову, если вариант "в лоб" не применяется для большого количества свойств, то где на практике обычно проводят границу, много это свойств или мало?
"Боевого" опыта разработки у меня почти нет, поэтому прошу совета опытных товарищей.