Выбор дизайна списка объектов или списка/карты в качестве свойства объекта для следующих ситуаций

Я использую Flutter/Dart, но это действительно основной вопрос ООП, который у меня есть для всех языков.
Я ищу ответ, который скажет мне, какой из приведенных ниже дизайнов имеет лучшее управление ресурсами, а также самое простое кодирование.

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

Ситуация 1.
Редко изменяемый объект, который создается один раз, но считывается довольно часто и редко обновляется.

Ситуация вторая Объект с интенсивным доступом - в основном действия чтения, но очень регулярно создаваемые, очень много объектов 1000+, и они будут регулярно фильтроваться
Пример:

      List<SalesIncome> salesIncome = "Sales income from DB";
num totalSalesIncome = salesIncome.where((salesPerson) =>
   salesPerson.contains('John Lohn')).toList().reduce((a, b) => a + b);

Какой из двух имеет лучшее управление ресурсами (память и ЦП) и лучшую кодируемость для действий CRUD дальше по цепочке в конце API? Не задавая субъективный вопрос.

Чтобы уточнить, я хочу знать, какой дизайн объекта № 1 или № 2 лучше всего подходит для каждой ситуации 1 и 2.

      enum TimePeriod {weekly, monthly, yearly}

#1
class SalesQuota {
  String salesPerson;
  TimePeriod quotaPeriod;
  num grossIncomeQuota;
  int quotaDate;
}

#2
class SalesQuota {
  String salesPerson;
  TimePeriod quotaPeriod;
  Map<int, num> quotaData;
}

Example for multiple object creation:

#1
SalesQuota(
  John Lohn,
  TimePeriod.weekly,
  45600.00
  1646125200000)
SalesQuota(
  John Lohn,
  TimePeriod.weekly,
  50000.00
  1646730000000)
SalesQuota(
  John Lohn,
  TimePeriod.weekly,
  65000.00
  1647331200000)
SalesQuota(
  John Lohn,
  TimePeriod.weekly,
  68000.00
  1647936000000)

#2
SalesData(
  John Lohn,
  TimePeriod.weekly,
  {
    1646125200000: 45600.00,
    1646730000000: 50000.00,
    1647331200000: 65000.00,
    1647936000000: 68000.00,
  }

0 ответов

Другие вопросы по тегам