C# 存储库模式:DAL或BLL

C# 存储库模式:DAL或BLL,c#,repository-pattern,business-logic,bll,C#,Repository Pattern,Business Logic,Bll,我试图实现一个业务逻辑层,其中包含一些用于保存车辆预订数据的用例。对于应该在哪里实现存储库模式,我有点困惑。我应该在BLL或DAL中使用它吗?这听起来很基本,但我在设计阶段有点迷失了。若存储库模式不适合BLL,那个么哪种模式适合BLL。非常感谢任何帮助/提示。存储库模式的职责是从数据层存储和获取数据,并对该数据层的外观进行抽象。 其背后的想法是,如果此底层发生更改,您可能需要更改存储库的实现,但不需要更改仍会看到相同界面的存储库用户。 记住坚实的设计规则,特别是单一责任,存储库不应该有任何业务逻

我试图实现一个业务逻辑层,其中包含一些用于保存车辆预订数据的用例。对于应该在哪里实现存储库模式,我有点困惑。我应该在BLL或DAL中使用它吗?这听起来很基本,但我在设计阶段有点迷失了。若存储库模式不适合BLL,那个么哪种模式适合BLL。非常感谢任何帮助/提示。

存储库模式的职责是从数据层存储和获取数据,并对该数据层的外观进行抽象。 其背后的想法是,如果此底层发生更改,您可能需要更改存储库的实现,但不需要更改仍会看到相同界面的存储库用户。
记住坚实的设计规则,特别是单一责任,存储库不应该有任何业务逻辑,因此不能成为其中的一部分。
不过,业务层使用存储库。

存储库模式的职责是从数据层存储和获取数据,并对该数据层的外观进行抽象。 其背后的想法是,如果此底层发生更改,您可能需要更改存储库的实现,但不需要更改仍会看到相同界面的存储库用户。
记住坚实的设计规则,特别是单一责任,存储库不应该有任何业务逻辑,因此不能成为其中的一部分。
不过业务层使用存储库。

谢谢Philip,您所说的“数据层”是指数据访问层吗?困扰我的一个问题是,对于一个存储库来说,像
Booking GetBooking(string RegistrationNumber)
这样的功能可以吗?它会违反任何好的实践吗?这是完全可以接受的(甚至是鼓励的)。但我会想到这一点。GetBooking(字符串)或Get(注册号)是否传达了更好的含义。我建议使用注册号类型会更好。感谢各位花费的时间和精力。谢谢你帮我理清思路!谢谢Philip,你说的“数据层”是指数据访问层?困扰我的一个问题是,对于一个存储库来说,像
Booking GetBooking(string RegistrationNumber)
这样的功能可以吗?它会违反任何好的实践吗?这是完全可以接受的(甚至是鼓励的)。但我会想到这一点。GetBooking(字符串)或Get(注册号)是否传达了更好的含义。我建议使用注册号类型会更好。感谢各位花费的时间和精力。谢谢你帮我理清思路!存储库类应该是数据层的一部分,业务层将使用抽象(接口)访问这些类。存储库类将具有通用CRUD操作。存储库类应该是数据层的一部分,业务层将使用抽象(接口)访问这些类。存储库类将具有通用CRUD操作。