哪种架构风格和模式适合该系统?
Which architectural style and pattern(s) would be suitable for this system?
考虑以下情况。有一组人在处理一项任务(例如,编辑地图)。任何人都可以看到整个地图。每个人都被认为是他们创建的某个地图的所有者。如果 A 人创建了地图 MA,而 B 想更改该地图,他们可以在本地编辑它,然后可以将他们的更改提供给 A。如果 A 接受更改,则新的 MA 将分发给整个团队。根据定义,B 不允许自己向 MA 提交更改。
如您所见,这是某种协作或分布式编辑,任务的每一部分都有一个所有者,其他人可能会提供更改,然后应该传播这些更改。
因为我对如何正确设计系统以及应该应用哪些规则有 0 个知识(我们的课程也有 0 个 material,这确实很奇怪,但事实就是这样 -意思是,"go figure out yourself"),我想问问你对这个问题的看法:
- 这种系统在软件设计中一般class叫什么?
- 在这样的系统中应该使用哪些样式和模式?
我 100% 确定这是以前设计的,并且应该使用正确的实现。
P.S。我真诚地希望这不会作为作业结束,因为 a) 我不是要你为我做,只是建议或意见 b) 这是我唯一可以就此寻求建议的地方主题。
P.P.S。我坚信在 OO 分析和设计中有严格的规则和严格的标准来衡量设计的正确性,因此我不想只是用 0 知识胡乱编一些 "design",而是想知道如何处理首先正确的事情。谢谢理解。
此类问题的通用架构模式称为 "blackboard"。你可以阅读它 here
考虑以下情况。有一组人在处理一项任务(例如,编辑地图)。任何人都可以看到整个地图。每个人都被认为是他们创建的某个地图的所有者。如果 A 人创建了地图 MA,而 B 想更改该地图,他们可以在本地编辑它,然后可以将他们的更改提供给 A。如果 A 接受更改,则新的 MA 将分发给整个团队。根据定义,B 不允许自己向 MA 提交更改。
如您所见,这是某种协作或分布式编辑,任务的每一部分都有一个所有者,其他人可能会提供更改,然后应该传播这些更改。
因为我对如何正确设计系统以及应该应用哪些规则有 0 个知识(我们的课程也有 0 个 material,这确实很奇怪,但事实就是这样 -意思是,"go figure out yourself"),我想问问你对这个问题的看法:
- 这种系统在软件设计中一般class叫什么?
- 在这样的系统中应该使用哪些样式和模式?
我 100% 确定这是以前设计的,并且应该使用正确的实现。
P.S。我真诚地希望这不会作为作业结束,因为 a) 我不是要你为我做,只是建议或意见 b) 这是我唯一可以就此寻求建议的地方主题。
P.P.S。我坚信在 OO 分析和设计中有严格的规则和严格的标准来衡量设计的正确性,因此我不想只是用 0 知识胡乱编一些 "design",而是想知道如何处理首先正确的事情。谢谢理解。
此类问题的通用架构模式称为 "blackboard"。你可以阅读它 here