三层架构中的传参问题

现在有一个实体类 

StudentInfo
{
public:
    int id;
    QString name;
    QString lesson;
    QString score;
    QString teacher;
}

在ui层需要通过id查询这个表中的属性信息;

下面有两种方式:

int id = 30;
StudentInfo info = searchStuInfo(30);
StudentInfo stu;
stu.id = 30;
StudentInfo info = searchStuInfo(stu);

这两种方式哪种更好一些?网上大都建议使用实体类作为参数进行传递,但对于这个例子,我觉得用实体类显得查询条件不那么清晰,现在很纠结,谁能从专业的角度为我解答下哪个更好

这可能需要看你的 searchStuInfo 函数是怎么实现的决定,如果内部的功能就是取 id 返回该 id 的学生信息那其实传 id 就行了,你传一个实体类进去就比较臃肿。   如果说你这个 searchStuInfo 还支持模糊匹配,比如支持使用名字,课程,分数,四个项来查找,也支持 id 查找,那么这时就传实体类。

这主要看你searchStuInfo 函数的传参是什么,如果两者都有的话,建议使用第一种的传参形式,但是二者在程序中是没区别的!望采纳!