【发布时间】:2011-06-01 20:19:00
【问题描述】:
我有一个具有数据库连接性的应用程序,尽管显然有与我的数据库中的数据相对应的对象,但我发现我所有的数据处理方法都可以是静态的,因为实际上不需要对象的实例作为我的类只是对数据进行操作并吐出一些东西,不需要在方法范围之外存储任何东西。如果我可以将方法或类设为静态,我应该这样做吗?
我还为通用(单个实例)“全局数据”使用实用程序单例类。我想有一个好的设计,但是这些都不被接受吗?
让我举个例子说明我在做什么。我使用静态方法从我的数据库中加载一些数据,以将其放入我的 Singleton 类中的全局变量(自定义对象的列表)
所以我的单例类有类似的东西
List<MyCustomObject> SomeList
我的静态类有
static void LoadData()
foreach(data in database something or other)
singletonClass.SomeList.Add()
所以上面的代码可能会将数据库中的一些记录加载到 SomeList 中,其中 SomeList 中的每个项目都是 MyCustomObject 类型,其中包含一条信息记录。
这是一个好的实现吗?你会这样编码吗?
然后在我的表示层中,我将调用另一个静态方法类,以从单例类中获取所需格式的数据。
感觉不是很糟糕。但我真的想不出如何以另一种方式来做。
【问题讨论】:
-
你问的是什么编程语言?
-
这里有一个关于单例/全局的很好的讨论:stackoverflow.com/questions/4059077/…