0

我正在使用 Flutter/Dart 但这确实是我对所有语言都有的基本 OOP 问题。
我正在寻找一个答案,告诉我以下哪些设计具有最好的资源管理和最简单的编码。

这个类似的帖子并不能真正让我满意,我觉得我需要一个更好的黑白答案,可以辨别这两种设计。

情况一
一个很少修改的对象,它被创建一次,但经常阅读,很少更新

情况二 一个访问量很大的对象——主要是读取动作,但经常创建,很多对象 1000+ 并且它们将被定期过滤
示例:

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

两者中哪一个具有最好的资源管理(内存和 CPU)和最好的 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,
  }
4

0 回答 0