2017-08-01 73 views
-6

起初我以为这是愚蠢的问,但后来我说为什么不: - )。 我正在构建一个角度为4的应用程序。 我在数据库中有一个tranasction实体。 这种交易的唯一目的是对其他订单进行分组。 tranasction具有2个属性这个角度服务的好名字

  1. 标识
  2. 用户ID - 所创建交易的用户。

首先只有authenticate用户可以创建一个tranasction,所以我创建了一个tranasctionCreator.create(userId),它返回transasctionId。 由于产品更改,现在客人可以创建交易,并且只有在登录后才会分配给他。

所以我不知道我该怎么做:

  1. 假tranasctionCreator服务不变,并添加新的服务 tranasctionUserAssigner.assign(tranasctionId,用户id)
  2. 变化transactionCreator名和团体两种功能。这个问题是我找不到这个服务的好名字
+1

不要发布这些命名问题 – Sreemat

回答

1

让我开始说,到目前为止,Angular的一个更具挑战性的事情是提出一个描述性的,不重复的,可扩展的名称。我认为transactionCreator没有什么问题,除了我喜欢这个动作像createTransaction这样的第一个单词。说实话,我认为我更喜欢generateTransaction,但真的这只是一个偏好。

对您的问题:不要创建其他服务。只需将userId设置为可选参数或覆盖您的API,以便您可以传递空UserID。

当然,您需要一个updateTransaction服务在用户登录后将其分配给事务。

出于好奇,您如何在登录后将创建的事务分配给用户?您是否将创建的交易保存到localStorage并在登录时运行某些内容?或者你有没有一个未分配的交易页面,用户可以从中选择?

+0

当用户进入新订单页面时,我发送一个请求在数据库中创建一个交易实体。如果用户未登录,则此实体正在保存而没有userId。付款前,如果用户没有登录,我强迫他登录。用户登录后,我向服务器发送了一个请求,以便使用登录的用户更新tranasction。 –