如何在应用程序端调用实体的视图
Posted
技术标签:
【中文标题】如何在应用程序端调用实体的视图【英文标题】:How to call a view of an entity on application-side 【发布时间】:2021-07-12 10:56:06 【问题描述】:让我们假设性能是关键。对于特定用例,仅需要来自实体(连接在一起)的特定列。由于性能原因,仅加载所需的数据(不是实体中的所有列)。最后,它只是实体的视图。如果定义了不同的用例,这将导致同一实体的多个视图。
有很多方法可以实现。但是你怎么称呼它?视图通常在数据库端,对吧? 你知道处理这个问题的一些概念吗?
【问题讨论】:
听起来您在描述一种 CQRS。有一个写入模型(在这种情况下是所有列)和任意多个读取模型,其中只有一部分列是有意义的。 【参考方案1】:该模式通常称为Command Query Responsibility Segregation (CQRS)。
在该模式中,有单独的读写模型(至少从应用程序的角度来看)。
在命名实际“视图”时,我认为不一定有高度的一致性。有些人称它们为“读取模型”,另一些人称它们为“视图”,它们可能被视为“投影”,尽管它们通常与投影事件流相关。
我想我会称它们为“视图”,以免重载“读取模型”术语,该术语也指整个查询模型。然后,您可能会担心将“数据库视图”与那些区别开来,因此如果讨论中存在混淆,也许可以用“应用程序级视图”与“数据库视图”来澄清?
【讨论】:
谢谢!我想你是对的。 CQRS 本身就是这样。当然它可以与事件溯源相结合,但不是必须的。以上是关于如何在应用程序端调用实体的视图的主要内容,如果未能解决你的问题,请参考以下文章