请教ASP.NET类的设计问题
讨论一个学籍管理系统,为简化问题,假设学生只有学号、姓名、电话号码三个属性,常见的类设计是
public class student
{
string NO;
string Name;
string TeleNumber;
string StuNO
{
get
{
return NO;
}
set
{
NO = value;
}
}
//省略一堆get、set
public void insert();
public void update();
public void delete();
}
然后这样调用:
student stu = new student();
stu.StuNO = NO.text;
stu.StuName = Name.text;
stu.StuTeleNumber = TeleNumber.text;
stu.insert();
另一种设计是:
public class Student
{
public void insert(string NO,string Name,string TeleNumber);
public void update(string NO,string Name,string TeleNumber);
public void delete(string NO);
}
然后这样调用:
student stu = new student();
stu.insert(NO.text,Name.text,TeleNumber.text);
简单说一下我的疑问,采用第一种设计的时候,类有成员变量,使用的时候,实际上是给每一个成员变量赋值,然后再调用函数,往数据库插入新的学生记录,但是这样做是不是有这样一些问题:首先,把文本框的值一一传给对象是不是多余?直接作为函数参数是不是就省了这样的一步?其次,当调用delete方法的时候,根本不需要用到Name和Telephone,这两个变量是不是浪费了空间?采用第二种设计的时候解决了上面的问题,但是,当学生的信息很多的时候,insert方法和update方法就会出现一大堆的参数列表。本人实在不知道该如何权衡,请指教。