验证和数据更正逻辑应该在业务或数据访问层中完成吗?

时间:2011-01-11 22:09:37

标签: business-logic data-access

所以我有这个一般性的问题,例如我应该在哪里有某些逻辑 -

var data=GetItems();
if(data==null)
  //return some defaults
else
  return values

//第二个案例..

 if(id<=0)
  //throw some exception
else
  return id

上面的代码应该是数据访问层(我认为应该)还是业务层的一部分。此外,数据验证通常应该是数据访问还是业务层的一部分?

1 个答案:

答案 0 :(得分:3)

我认为问题在于它是应该在业务层还是UI层之间。数据层的目的是CRUD,因此逻辑应该只针对那个。

在上面的第二个例子中,我会说这是业务逻辑。你说负面的id有一个应该抛出异常的含义。这个含义只存在于您正在创建的应用程序的逻辑中 - 数据存储没有固有的东西说应该是这种情况。

所以我的投票是针对业务层的,你也应该考虑一下UI层。