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

21 Авг 2019 в 07:04
233 +1
0
Ответы
1

Оба варианта имеют свои плюсы и минусы, и выбор зависит от конкретной ситуации.

Вариант "в лоб", то есть создание класса с большим числом полей, может быть удобен в случае, если эти поля тесно связаны между собой и образуют одну единую сущность. В этом случае легче работать с объектом такого класса, так как все данные сгруппированы в одном месте.

Однако у такого подхода могут быть недостатки, такие как сложность поддержки и изменения кода (особенно при добавлении новых полей), потенциальные проблемы с производительностью, если большое количество полей используется не всегда.

Создание универсальной структуры для хранения связки "имя поля" - "значение" также может быть полезным подходом, особенно если у вас есть динамически меняющееся количество полей или если вам нужно обрабатывать данные динамически. Этот подход обеспечивает более гибкую структуру данных и упрощает добавление и удаление полей.

Однако этот подход также имеет свои недостатки, такие как сложность доступа к данным (необходимость использования ключей для доступа к конкретным полям), возможное увеличение сложности кода из-за универсальной структуры.

Чтобы выбрать наилучший способ организации классов с большим числом полей, вам следует руководствоваться следующими принципами:

Поддерживаемость кода: выберите способ, который упростит добавление, удаление и изменение полей в будущем.Читаемость и понимание кода: выберите способ, который делает код более понятным и читаемым для других разработчиков.Производительность: учтите потенциальные проблемы с производительностью при выборе структуры данных.

В зависимости от конкретных требований и особенностей вашего проекта, можно также рассмотреть применение различных паттернов проектирования, таких как "Стратегия" или "Декоратор", для упрощения работы с данными и их обработки.

Относительно количества полей в классе, не существует строгой границы, сколько их должно быть, чтобы можно было использовать класс "в лоб". Важно оценить, насколько эти поля связаны между собой и нужно ли группировать их в одну сущность. Если у вас есть большое количество несвязанных полей, то может быть целесообразно рассмотреть более гибкую структуру хранения данных.

В любом случае, рекомендуется провести дополнительный анализ и тестирование обоих подходов, чтобы выбрать наилучшее решение для вашего конкретного случая.

20 Апр 2024 в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир