什么时候应该写在asp.net类的静态函数
问题描述:
我有asp.net页面,我有组合框。我非常困惑的是,因为我有两个办法什么时候应该写在asp.net类的静态函数
获取组合框的数据如何填补这一组合:通过创建我的数据库类的对象。并为组合框数据调用函数。
获取组合框的数据:使用静态函数
我们什么时候应该创建静态功能,以及我们如何可以决定功能是否应该是静态或没有。
假设我需要根据城市ID来填充居住在城市的人数,并且还有像商业团体,服务组,学生这样的过滤条件。
什么是填充组合框的更好方法。
答
函数应该是静态的,如果它应该是无状态的。就那么简单。
答
你可以有很多场景如何填写你的组合框。 例如:
- 您可以从组合框派生,你可以填写他们对Load事件(或其他任何人的事件,如果你想)
- ,你可以有组合框类具有相同的界面填写(为例如:UserConboBoxFiller,InvoiceComboBoxFiller,ArticleComboBoxFiller等......)
- 您可以使用组合框填充的静态方法 - 如您所写。在简单的情况下,这没有错。
如果您有填充组合框的几个过滤条件,我建议使用类填充:
public interface IComboBoxFiller {
void Fill(ComboBox cbo);
}
public class UsersComboBoxFiller : IComboBoxFiller {
public bool OnlyOnlineUsers {get;set;}
public void Fill(ComboBox cbo) {
// there is logic for combobox filling
// you can dynamicly generate where condition
// by the "OnlyOnlineUsers"
}
}
答
你让你的功能的静态,如果他们不需要在类实例上工作,并访问该实例州。
静态类和函数在Web应用程序中很常见,因为这些应用程序大多都是无状态HTTP,无状态。或者至少他们通过使用会话,cookie或向HTML注入一些帮助内容等一些技巧来模仿状态。但即便如此,PC内存中几乎没有状态 - 创建对象以服务请求并在响应发送后删除。所以,类和函数大多在那里打包用户数据并将其发送到数据库并反向。大多数情况下,只是数据流处理。
这是不正确的。你可以有使用静态状态的静态方法。你可以有实例方法,它不使用任何状态。两种方式都是正确的。 – TcKs 2009-07-04 11:27:00