我应该把 "business logic" 放在哪里?

Where do I put "business logic"?

我在书店 demo/documentation 之后构建了一个 abp.io 应用程序。

我有一个“位置”实体 (?),它有多个地址字段(地址、城市、州、邮编等)。

它还有纬度和经度字段。为了确定纬度和经度,我必须在创建或更新位置后点击外部 API。

在哪里以及如何创建此逻辑?

据我所知,我必须在创建或更新时执行以下操作:

我的代码可以让我获取纬度和经度。我只是不知道如何调用它以及如何用它更新数据库条目。

注意,这是将 abp.io 与 Angular 和 EFC (MS SQL) 一起使用。

我认为您可以利用 abp 使这个过程更稳健、更容易。 例如,在创建、更新或删除位置后,您可以发布一个事件,然后订阅。 https://docs.abp.io/en/abp/latest/Local-Event-Bus#inside-entity-aggregate-root-classes

此外,在您的情况下,如果 location 的 isRequired 为真,您可以在资产更改成功保存到数据库时发出事件。 https://docs.abp.io/en/abp/latest/Local-Event-Bus#events-with-past-tense

Pub/Sub 在 ABP 仓库中的许多地方使用。例如其中之一=> https://github.com/abpframework/abp/blob/dev/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Documents/FullSearch/Elastic/DocumentChangedEventHandler.cs