【发布时间】:2014-09-08 15:52:42
【问题描述】:
我确实知道这个问题以前被问过很多次,但我无法从中得到我想要的答案。这个问题是,“我应该使用单例还是包含所有静态成员和方法的类?”
我只需要一个实例来实现我想要实现的目标,并且两种方式都可以同样有效。那么在设计上,有没有更好的方法呢?还是我应该使用其中任何一个?
第一种情况:
我正在尝试为我的程序编写一个“数据库”类。这个“数据库”使用其他对象来存储和组织数据。然而,数据库本身对数据进行排序和搜索。鉴于它是一个数据库,我只想要它的一个实例。我不想访问多个位置来获取数据。数据库本身会处理。
注意-我已经把它写成枚举Data.BASE。它使用方法handle(String) 获取字符串命令并通过调用其他方法来操作其中的数据。我是否应该将Data.BASE 包装在“静态类”中并用它与Data.BASE 交谈? (我直接和Data.BASE交流)
第二种情况:
我正计划创建一个类,该类旨在从我的名为SettingsManager 的程序中加载和保存设置。它将使用,而不是实现Savable 接口来操作具有可保存设置的对象。 SettingsManager 将在程序开始和结束时调用。但是,它只能操作添加到它的对象 (SettingsManager.add(Savable))。就像第一种情况一样,我不需要它的多个实例。我只想要一个实例来跟踪书写和保存偏好。
有没有我想不出的更好的解决方法?
我确实认识到这不是一个特定的编码问题。但是,我觉得这些都是重要的设计和风格问题,我肯定需要在将来为其他程序参考。
【问题讨论】:
-
我要出去吃午饭了。因此,如果我没有立即回复任何答案/cmets,我深表歉意。
标签: java database singleton static-classes