【发布时间】:2011-09-03 03:47:51
【问题描述】:
我有一个 MVC 应用程序,它分为 3 层: - 演示文稿 - ASp.NET MVC - 业务逻辑 - 这里我们有实体和对象服务。我们在 DAL 对象和 BL 对象之间也有映射器 - 数据访问层 - 我们使用 EF 来查询数据库。 现在,我们已经为对象服务创建了一个工厂,该工厂稍后会使用 Unity 注入到表示中。每次我想做一些逻辑时,我都会调用一个适当的服务,它使用 DAL 存储库来做一些事情。 现在,愚蠢的问题,假设我想检查是否可以添加具有提供昵称的用户。昵称在数据库中是唯一的,因此在添加用户之前,我会检查是否存在具有提供昵称的用户。因此,这是一个返回真/假的简单查询。因为我在表现层和业务层之间没有任何联系,所以我在服务中检查它。但是服务方法的代码看起来很简单:
var exists = repository.NicknameExists(nickname);
return exists;
上面的代码很奇怪,因为它什么都不做,只是调用一个方法并返回它的值。另一方面,我有关注点分离,所以我的解决方案组织得很好。谁能给我一些建议,我应该如何解决这样的问题?
【问题讨论】:
标签: asp.net-mvc model-view-controller repository data-access-layer business-logic