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