存储库模式:DAL 或 BLL [关闭]
Posted
技术标签:
【中文标题】存储库模式:DAL 或 BLL [关闭]【英文标题】:Repository pattern: DAL or BLL [closed] 【发布时间】:2015-08-13 22:57:54 【问题描述】:我正在尝试实现一个业务逻辑层,其中包含一些用于保存车辆预订数据的用例。对于应该在哪里实现存储库模式,我有点困惑。我应该在 BLL 还是 DAL 中使用它?这听起来很基本,但我在设计阶段有点迷失了。如果 Repository 模式不适合 BLL,那么哪一种适合。感谢任何帮助/提示。
【问题讨论】:
存储库类应该是数据层的一部分,业务层将使用抽象(接口)访问那些。存储库类将具有通用 CRUD 操作。 【参考方案1】:存储库模式的职责是存储和从数据层获取数据,并对数据层的外观进行抽象。 其背后的想法是,如果该底层发生更改,您可能需要更改存储库的实现,但不需要更改仍会看到相同界面的存储库用户。 特别要记住 SOLID 设计规则和单一职责,存储库不应该有任何业务逻辑,因此不能成为其中的一部分。 不过,业务层使用存储库。
【讨论】:
谢谢 Philip,您所说的“数据层”是指数据访问层吗?困扰我的一个问题是,Repository 是否可以具有Booking GetBooking(string RegistrationNumber)
之类的功能,是否违反任何良好做法?
这是完全可以接受的(甚至鼓励)。但我会考虑这一点。 GetBooking(string) 或 Get(RegistrationNumber) 是否传达了更好的含义。我建议使用 RegistrationNumber 类型会更好。
感谢大家的时间和精力。谢谢你帮我理清思路!以上是关于存储库模式:DAL 或 BLL [关闭]的主要内容,如果未能解决你的问题,请参考以下文章