我在我正在处理的网络应用中看到大量使用“商店”对象。这个模式是否有名称,你会说这些类型是BLL还是DAL?
这些商店包含我认为是经典DAL类型的片段,与单一类型相关联。
例如,我们有一个TabStore,包含Tabs的持久性和检索方法。在TabStore中的每个方法中都有代码来调用适当的NHibernate查询。
使用这种模式有哪些陷阱(如果有的话)?是否真的是一种简单的尝试,将曾经是单一的Dal类型的东西分成更易于管理的更小类型?
示例方法:
public IList<Tab> GetAllTabInstancesForUserId(Guid userId)
{
IList<Tab> tabInstances =
UoW.Session.CreateQuery("from Tab t where t.UserId=:userId order by t.TabOrder")
.SetGuid("userId", userId)
.SetCacheable(true)
.List<Tab>();
return tabInstances;
}
答案 0 :(得分:2)
可能更常见的是Repository。
抽象存储库属于域模型,但应由具体类在单独的数据访问组件中实现。
答案 1 :(得分:1)
如果我正确地理解了这个问题,那么“商店”与DAL的关系比与BLL的关系更为重要,因为它们应该没有什么逻辑 - 毕竟他们的角色只是“存储”。
答案 2 :(得分:1)
更多细节肯定会有所帮助,包括使用“商店”的代码片段......
但是根据您的问题,听起来像开发人员使用术语“商店”而不是“存储库”,这意味着Repository Pattern(与您的相关)数据访问层。)
更新后......显然,开发人员最初称之为“商店”的是“存储库”。