- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最佳答案
简短回答:只有在需要额外的抽象级别时才使用领域服务。
详细回答如下。
来自文档 Domain Services #Introduction :
Creating a Domain Service is especially needed when;
- You implement a core domain logic that depends on some services (like repositories or other external services).
- The logic you need to implement is related to more than one aggregate/entity, so it doesn't properly fit in any of the aggregates.
文档中的示例 Domain Services #Introduction : 为用户分配问题时,请检查分配的问题数量是否不大于或等于特定数量。
教程中的示例 Part 6: Authors: Domain layer : 更改作者姓名时,请检查是否不存在具有给定姓名的作者。
您可能会错过作为核心域逻辑或业务规则的检查。
但一般来说,没问题。来自教程 Part 6: Authors: Domain layer :
DDD tip: Do not introduce domain service methods unless they are really needed and perform some core business rules.
请参阅#1 和#4 中的示例。
来自文档 Domain Services #Application Services vs Domain Services :
While both of Application Services and Domain Services implement the business rules, there are fundamental logical and formal differences;
- Application Services implement the use cases of the application (user interactions in a typical web application), while Domain Services implement the core, use case independent domain logic.
- Application Services get/return Data Transfer Objects, Domain Service methods typically get and return the domain objects (entities, value objects).
- Domain services are typically used by the Application Services or other Domain Services, while Application Services are used by the Presentation Layer or Client Applications.
来自教程Part 8: Author: Application Layer :
- Used the
AuthorManager
(domain service) to create a new author.- Used the
IAuthorRepository.InsertAsync
to insert the new author to the database.- Used the
ObjectMapper
to return anAuthorDto
representing the newly created author.DDD tip: Some developers may find useful to insert the new entity inside the
_authorManager.CreateAsync
. We think it is a better design to leave it to the application layer since it better knows when to insert it to the database (maybe it requires additional works on the entity before insert, which would require to an additional update if we perform the insert in the domain service). However, it is completely up to you.
关于abp - 关于使用 DomainService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67264684/
我不能完全理解在什么情况下我会使用 DomainService 和在这种情况下你的文件不详细在这个问题上足够了。你能给出更详细的解释吗举个例子? 如果我只使用 ApplicationService 而
我正在使用域服务从 Silverlight 客户端的数据库中获取数据。 在 DomainService1.cs 中,我添加了以下内容: [EnableClientAccess()] public cl
我想要在我的域服务中使用类似于以下的方法: public SystemState GetSystemStatus() { return new SystemStatus {
我的 Silverlight 应用程序使用 RIA Web 服务与使用 Entity Framework 模型的 DomainService 进行交互。 在服务中我有一些简单的东西,比如: Publi
假设您创建了一个 RIA DomainService 并在其中包含一个 Person(如下所示)实体,您可以访问该对象上的聚合实体吗? 例如,如果我有这样的实体(请记住,这是一种天真的表示,它们是通过
我收到这个错误,但真的不知道如何解决: The element 'system.serviceModel' has invalid child element 'domainServices'. Li
我正在开发 Silverlight 4.0 应用程序并使用 RIA 服务。我在服务器端创建了一个类,其中应用了 DataContract 和 DataMember 属性。 DomainService
我在本地环境中加载了一个应用程序。这是我继承的代码库,根本没有让它工作。此时,当我在浏览器中导航到“http://test.myapp.com:75/”时,收到以下错误: 描述:处理此请求所需的配置文
谁能给我指出一个示例或简要描述如何使用 Linq to SQL 作为数据访问层但创建 WCF RIA Services DomainService 的自定义实现使用 .dbml 文件(这是因为 Lin
我正在尝试使用 RIA 服务,我安装了 Silverlight 4 和 Silverlight 4 Tools/SDK,但我无法设置 LINQToEntitiesDomainService,因为我找不
在 RIA 域服务中,我添加了一些实用功能。比如我们有... public virtual CmsDealer GetCmsDealerById(string id) { return thi
我使用 Invoke 属性从我的 SL ViewModel 调用了这个 DomainService 方法: [Invoke] public ServiceModel.Recipy GetRecipyB
我在带有一些 Silverlight 组件的 ASP.Net 应用程序中使用 .Net RIA 服务的七月 CTP。我正在从 Silverlight 调用 RIA 服务。 当我尝试在我的领域服务(一个
我有一个带有多个对象和 RestfulServices 的 apache ISIS 网络应用程序。出于记录目的,我需要请求本身的一些信息,而不仅仅是应该发送的参数。我如何访问这些请求 header 信
这是一个有趣的问题,我希望有人能帮忙解决。 我有一个包含以下查询的 DomainService 类: [Query] public IEnumerable GetBatchResult
我是一名优秀的程序员,十分优秀!