【问题标题】:actor should be assigned the smallest task possible演员应该被分配尽可能小的任务
【发布时间】:2016-11-02 16:55:10
【问题描述】:

众所周知

应该为演员分配尽可能小的任务

但是最小的任务是什么?

例如,我们有一些发送电子邮件的代码。这是一堆类。第一个类将传入的对象转换为 DTO 对象。第二个类提取模板并对其应用 DTO。第三类通过电子邮件发送结果。这里的演员是什么?它是每个类中的一个方法还是一个类或整个动作?

我担心的一个问题是,如果我制作的演员太小,在 IDE 中浏览代码会更加困难,也更难调试和阅读代码。在我的示例中制作太小的演员有什么好处(在我的示例中,我希望制作一个会调用这三个类的演员。为什么不这样做?)

【问题讨论】:

  • 你能提供你的引文来源吗?
  • 我认为你对为什么演员的任务不应该越小越好。
  • actor模型是并发计算的模型。因此,本质上不并发的部分(例如,如您所描述的映射器)不应放入演员中。

标签: java akka


【解决方案1】:

您的众所周知引述(可能...)取自Scala - Intro To Akka

如果是这样,它也被断章取意

因为,如果你在句子后面多写几个词,你就会得到一个更大的画面:

应尽可能为每个参与者分配尽可能少的任务(如前所述,遵循单一职责原则

现在,link 让您阅读一些有关 SRP 的信息,但我真的认为进一步(更好?)阅读已经存在:

等谷歌搜索...

希望这能让你开始。祝你好运!

编辑:我不会回答您的具体问题(示例等...),因为我相信每个应用程序和用法都是不同的,需要独特的观点和独特的答案。因此,我建议您阅读、理解并做出有效/深思熟虑的决定。

【讨论】:

  • 是的,我故意省略了“遵循单一职责原则”这部分,因为“单一职责原则”相当模糊。例如,在我的电子邮件案例中,有时可以将三个类分组合而为一。甚至更多。如果还有三个班级,我认为为所有班级制作一个演员是很正常的。但是当人们读到这句话时,他们中的大多数人都认为你应该尽最大努力制作尽可能小的演员,那将是最好的。我不同意他们并问了这个问题:)
猜你喜欢
  • 2015-08-25
  • 2011-07-03
  • 2017-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-28
相关资源
最近更新 更多