哪个类负责从数据库获取数据

时间:2014-10-21 19:30:36

标签: c# database execute responsibility

我有一个继承自接口(IDataSource)的数据库类和一个代表用户的类。

我真正研究的是,哪个类负责从数据库获取用户数据 - 用户类是否应该定义一个方法,该方法需要数据库类/ IDataSource的实例来执行查询,或者数据库类应该实现接收用户数据并返回用户对象的方法?

这只是一个普遍的问题,我期待着阅读一个有用的答案。

编辑:

也许s.o.解释以下工作原理:

class ContactValidator : IValidator
{
public Boolean Validate(Contact contact) { ... /* check Name is unique in DB */ }
}

IValidator会是什么样子?

据我所知,它看起来会像这样:

public interface IValidator{
bool Validate(???) 
}

我不能将“Contact”设置为接口的参数,否则每个实现接口的类都需要Contact作为参数。

是否可以将“object”定义为没有编译器抱怨参数类型的参数?

@ Active Records vs. Repository - pros and cons?

我发现的唯一解决方案是:

public interface IValidator<T> {
bool Validate(T obj)
}

还是有另一种方法让它适用于多个班级吗?

0 个答案:

没有答案