gpt4 book ai didi

存储库模式和业务逻辑

转载 作者:行者123 更新时间:2023-12-04 01:24:35 25 4
gpt4 key购买 nike

我有一个从数据层检索数据的存储库( CustomerRepository )。大多数业务逻辑位于存储库接受或返回的实体类 ( Customer ) 中。

但是,您将全局实体业务逻辑(适用于所有客户)放在哪里?

例如,我可能不想将所有客户都返回给某些用户。我不想将该逻辑放在存储库中。

最佳答案

我同意罗伯特·蒙泰努的观点。

基本上,您将模型中不固有的业务逻辑汇总到中间层。中间层是业务层/业务对象/业务逻辑层/等,只是简称为服务层。它不一定是 Web 服务,它是术语服务的广泛使用,因为它聚合了特定应用程序领域的功能。

您基本上会有一个包含存储库引用的 CustomerService 类。您的表示层将引用服务层类。

还有一个额外的区别,可以根据您使用的名称猜测您正在使用 .net,并且可能使用 LINQ to SQL 作为您的存储库,如 NerdDinner 中所述。

Repository 通常将 IQueryable 返回给服务层,允许服务层将多个查询链接在一起以构建不同的结果集。然后,服务使用 ToList 或其他类似方法评估表达式并将其返回到表示层。

关于存储库模式和业务逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1013855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com