Angular ngrx与严重依赖设定器的机型

Angular ngrx与严重依赖设定器的机型,angular,ngrx,Angular,Ngrx,我正在迁移到一个在属性上有大量逻辑的应用程序。这种逻辑主要是计算,但还有其他更奇怪的事情。作为一个面向对象的人,我真的相信setters是这种逻辑的完美场所,但后来我进入了一个有棱角的世界,而且我试图使用NgRx,我只是不知道如何让所有这些范例都很好地发挥作用 我知道stackoverflow不喜欢问很多问题,所以我先问主要问题 我目前的方法是从服务器检索json对象,然后使用这些数据实例化定义setter逻辑的“真实”类。 所以 ngrx是如何做到这一点的? NgRx不希望您的对象不仅仅是没有

我正在迁移到一个在属性上有大量逻辑的应用程序。这种逻辑主要是计算,但还有其他更奇怪的事情。作为一个面向对象的人,我真的相信setters是这种逻辑的完美场所,但后来我进入了一个有棱角的世界,而且我试图使用NgRx,我只是不知道如何让所有这些范例都很好地发挥作用

我知道stackoverflow不喜欢问很多问题,所以我先问主要问题

我目前的方法是从服务器检索json对象,然后使用这些数据实例化定义setter逻辑的“真实”类。 所以 ngrx是如何做到这一点的? NgRx不希望您的对象不仅仅是没有逻辑的可序列化结构,但我确实需要模型中的这些属性。否则,您还会将实体相关逻辑放在哪里

最后,该系统用于数据分析,其类在设置属性时执行大量计算。每个属性可能会影响许多其他属性。此逻辑不能在组件中使用,因为这些实体在整个应用程序中都使用(在表单、网格、图表甚至拖放视图中,并且始终重用相同的逻辑)。我似乎没有找到不使用属性设置器的方法


谢谢

这种逻辑可能存在于还原者或动作创造者中。 如果显示数据符合逻辑,最好将其添加到选择器中

redux文档中有一个部分在下面更深入

现在,问题是在action creator中放置什么,在reducer中放置什么,在胖动作对象和瘦动作对象之间进行选择。如果将所有逻辑都放在action creator中,则最终会得到fat action对象,这些对象基本上会声明状态的更新。还原程序变得纯粹,愚蠢,添加这个,删除那个,更新这些函数。它们将很容易创作。但你的业务逻辑不会有太多。如果在reducer中放入更多的逻辑,那么最终会得到漂亮、精简的动作对象,大部分数据逻辑都放在一个地方,但是reducer很难编写,因为您可能需要来自其他分支的信息。您最终会得到一个或多个大的减缩器,这些减缩器从状态的高层获取额外的参数

找到这两个极端之间的平衡点,你就会掌握Redux


所以这意味着不再有在属性getter和setter中包含逻辑的“智能”模型类了?那么,如何让应用程序实时显示绑定呢?假设我有一个“birthdate”属性和一个“Age”属性,然后当你选择你的生日时,ui会显示计算出的年龄。我是否也必须将其委托给redux模式?