为什么在 GO 中设计 Dao 层时,总是会设计一个interface的接口
我在看一些别人的框架时,总是发现,他们的Dao层里面会定义一个类似于IDao
的interface
的接口,方法在接口里面定义好后,再实现具体的方法。
可是我直接使用Dao这个结构体里面的方法,也是可以的啊,例如:
var Dao = dao.Dao{}
func (d *Dao) QueryUsernameFindUser(username string) (*models.AdminUser, error) {
}
// 使用时
Dao.QueryUsernameFindUser(req.Username)
所以我就疑惑这样设计的好处是什么?
推荐文章: