聚会的主页在页面右侧显示有关最近聚会的信息。您将使用哪种设计模式/工具(基于 Java)来实现这样的输出。
问问题
35 次
1 回答
0
有几种不同的方法,您使用哪种方法取决于几个因素,包括业务流程的复杂性、所需的灵活性程度和负载。
简单的解决方案
- “RSVP 更新”在“RSVP”过程中直接写入某个数据源;这个过程本质上是硬编码的。
- 有一些东西可以直接从他们所在的任何数据源/表中读出 RSVP。
- 如果负载和数据量过多,此解决方案将很好。关键是 RSVP UI 小部件最终会从与写入更新的数据源相同的数据源中提取数据。
表现
几个不同的选项,基于以上作为起点:
- 保存数据两次:一次在 RSVP 数据的“主”(事务)表中,一次在为服务 UI 构建的表中(基本上OLTP与OLAP)。第二个表将包含所有相关数据,因此无需查找其他表,并且由于它是数据的独立副本,您可以根据需要以不同方式管理它(例如:清除旧记录,以便表尺寸保持较小)。
- 或者,不是第二个表,而是将所有数据保存在内存中。这将要求您在内存中的副本丢失时将数据从主事务表中提取出来。
灵活性
- 与原始方法相同,但不是在记录 RSVP(到单个数据源中)的步骤中进行硬编码,而是使用更松散耦合的方法,以便您可以根据需要添加/更改/删除任意数量的事件处理器。一个将 RSVP 数据写入主 RSVP 数据源,而第二个将执行相同/类似但为“Recent RSVPs” UI 小部件聚合的准备工作。
- 依赖注入将为您提供灵活性——当然,如果您处理事件处理程序的单个实现。
- 发布/订阅或责任链模式可能会为您提供方法的基础。
那是你想要的那种信息吗?
于 2011-08-15T00:47:44.167 回答