瑞星卡卡安全论坛技术交流区系统软件 请教ASP.NET类的设计问题

1   1  /  1  页   跳转

请教ASP.NET类的设计问题

请教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方法就会出现一大堆的参数列表。本人实在不知道该如何权衡,请指教。
最后编辑2007-01-17 21:14:58
分享到:
gototop
 

用第二种办法,为的不仅是时间或者是什么所谓的内存空间问题,而是面向对象的本意,既然用的是.NET,就要用面向对象
gototop
 

还有,你的这个类里面所有的变量都应该是私有变量,必须,必须使用private 关键字
gototop
 

楼上说的是用第一种方法吧?第二种方法根本没有变量。

在本机上运行的程序可以有很多的资源,时间和内存空间基本上不成问题;但是对于网络程序来说,要顾及很多用户同时访问的情况,没可能随便浪费时间和内存空间的,否则会给服务器带来很大的负担。
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT