【发布时间】:2017-05-21 13:15:26
【问题描述】:
我正在尝试了解以下选项之间的权衡和最佳做法(如果有):
消息
- 许多消息类(例如 MessageClassForActorA、MessageClassForActorB、MessageClassForActorC....),其中每个类都只有目标参与者需要的特定字段。
- 以上选项都是 MessagesClass 扩展了一个基本类,其中存储了一些重复的字段。
- 一个消息类(例如 MotherOfAllMessages)包含系统中每个参与者可能需要的所有字段。每个参与者轮流使用(获取/设置)此消息中的相关字段
演员
- Actor 可以获取多种消息类型,并相应拆分业务逻辑
.match(POJOA.class, message -> {
...
.match(POJOB.class, message -> {
...
.match(POJOC.class, message -> {
...
- Actor 只接收一种消息类型,并根据消息中的某些 ENUM / 参数执行所有不同的业务逻辑
if (POJO.getPhase().equals("start"))
...
else ...
常用的做法是什么? 在性能、代码可维护性等方面哪个更好。
【问题讨论】:
-
这个问题对于 SO 的格式来说有点过于开放/基于意见。我仍然回答了它,但请考虑在未来遵循这些准则:stackoverflow.com/help/how-to-ask