Browse Source
docs: update the missing parts of the chinese doc
pull/7644/head
Rwing
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
9 additions and
4 deletions
-
docs/zh-Hans/Best-Practices/Application-Services.md
|
|
|
@ -199,7 +199,7 @@ Task<int> VoteAsync(Guid id, VoteType type); |
|
|
|
|
|
|
|
#### 查询数据 |
|
|
|
|
|
|
|
* **不推荐** 在应用程序服务方法中使用linq/sql查询来自数据库的数据. 让仓储负责从数据源执行linq/sql查询. |
|
|
|
* **不推荐** 在应用服务方法中使用linq/sql查询来自数据库的数据. 让仓储负责从数据源执行linq/sql查询. |
|
|
|
|
|
|
|
#### 额外的属性 |
|
|
|
|
|
|
|
@ -210,11 +210,16 @@ Task<int> VoteAsync(Guid id, VoteType type); |
|
|
|
* **推荐** 总是从数据库中获取所有的相关实体以对他们执行操作. |
|
|
|
* **推荐** 更新实体后调用存储的Update/UpdateAsync方法.因为并非所有数据库API都支持更改跟踪和自动更新. |
|
|
|
|
|
|
|
#### 处理文件 |
|
|
|
|
|
|
|
* **不推荐** 在应用服务中使用任何web组件, 例如`IFormFile`和`Stream`. 如果你想接收一个文件, 可以使用`byte[]`. |
|
|
|
* **推荐** 使用`Controller`来处理文件上传, 然后将文件的`byte[]`传递给应用服务的方法。 |
|
|
|
|
|
|
|
#### 使用其他应用服务 |
|
|
|
|
|
|
|
* **不推荐** 使用相同 **模块/应用程序** 的其他应用服务. 相反; |
|
|
|
* **不推荐** 在同一个模块/应用中使用其他应用服务. 相反; |
|
|
|
* 使用领域层执行所需的任务. |
|
|
|
* 提取新类并在应用程序服务之间共享, 在必要时代码重用. 但要小心不要结合两个用例. 它们在开始时可能看起来相似, 但可能会随时间演变为不同的方向. 请谨慎使用代码共享. |
|
|
|
* 提取新类并在应用服务之间共享, 在必要时代码重用. 但要小心不要结合两个用例. 它们在开始时可能看起来相似, 但可能会随时间演变为不同的方向. 请谨慎使用代码共享. |
|
|
|
* **可以** 在以下情况下使用其他应用服务; |
|
|
|
* 它们是另一个模块/微服务的一部分. |
|
|
|
* 当前模块仅引用已使用模块的application contracts. |
|
|
|
* 当前模块仅引用已使用模块的application contracts. |
|
|
|
|