2014-12-30 69 views
0

如果我正在使用CQRS原则将应用程序拆分为读写方面,您将如何处理具有“动态”读取模型场景的情况?例如。我有一个由多个读取属性(id,title,slug等)组成的产品,但为了向用户显示它,我需要传递由域服务计算的价格(我通过访问者国家和货币)。我不能在数据库中存储这个价格,因为用户随时可以随时改变他的货币,他希望价格随时变化。所以我的最终产品视图模型应该基本上是原始SQL列(id,title,slug)和计算价格的组合。我应该使用与数据库相同的视图模型并使用内容丰富模式,还是应该为我的组合创建新的视图模型?动态视图模型

回答

0

更改产品的价格是一个COMMAND,它应该更新您存储在数据库中的价格,然后您可以随时查询。

CQRS的本质是你的查询没有像这样的逻辑。

对于货币换算,既然您说用户可以随时更改货币,那么您应该查询整个货币汇率列表,并在客户端自己进行计算。或者,您可以查询基准价格,然后查询当前的价格。如果用户更改货币,则只需再次查询费率,但保持相同的基准价格。

相关问题