React-Flux 商店:集合与专门的单身人士
React-Flux stores: collections vs specialized singletons
在使用 React & Flux(特别是 Fluxxor)构建应用程序时,我发现很少关于如何定义商店的信息。我的同事中的大多数人都有 Backbone 和其他 MVC 框架的经验,他们倾向于创建基本上是集合的商店(即 BlogPostStore、CommentStore)。我的直觉是商店有意不被称为集合或模型。在 flux docs, 中,存储被解释为代表逻辑域的集合和单例,但没有真正解释何时应该使用一种形式或另一种形式。
是否有最佳实践或经验法则来决定何时应该定义基本上是集合或更具体的单例的商店?
在我看来,使用 flux 划分商店的最佳方式是围绕领域概念。需要管理博客 post 和评论?博客 post 商店和评论商店(每个都充当其数据类型集合的容器)是有意义的。是否有需要通过客户端操作管理的身份验证数据会话?会话存储——它根本不会管理一个集合,只是一堆与会话相关的数据——是完全合法的。您链接到的文档中提到的 TimeStore 是另一个很好的例子。
基本上,只要您要处理不适合现有商店的新 "type" 信息,请创建一个新信息。 (几年前有一次谈话,来自 Yahoo! 的人说他们有一个应用程序有一百多家商店。)然后,在商店本身,为您想要的任何类型的数据管理实施操作处理程序;如果它是处理某物集合的商店,那么您定义的操作类型和处理程序将反映这一点。没有的话也没关系。
在使用 React & Flux(特别是 Fluxxor)构建应用程序时,我发现很少关于如何定义商店的信息。我的同事中的大多数人都有 Backbone 和其他 MVC 框架的经验,他们倾向于创建基本上是集合的商店(即 BlogPostStore、CommentStore)。我的直觉是商店有意不被称为集合或模型。在 flux docs, 中,存储被解释为代表逻辑域的集合和单例,但没有真正解释何时应该使用一种形式或另一种形式。
是否有最佳实践或经验法则来决定何时应该定义基本上是集合或更具体的单例的商店?
在我看来,使用 flux 划分商店的最佳方式是围绕领域概念。需要管理博客 post 和评论?博客 post 商店和评论商店(每个都充当其数据类型集合的容器)是有意义的。是否有需要通过客户端操作管理的身份验证数据会话?会话存储——它根本不会管理一个集合,只是一堆与会话相关的数据——是完全合法的。您链接到的文档中提到的 TimeStore 是另一个很好的例子。
基本上,只要您要处理不适合现有商店的新 "type" 信息,请创建一个新信息。 (几年前有一次谈话,来自 Yahoo! 的人说他们有一个应用程序有一百多家商店。)然后,在商店本身,为您想要的任何类型的数据管理实施操作处理程序;如果它是处理某物集合的商店,那么您定义的操作类型和处理程序将反映这一点。没有的话也没关系。