我不完全确定如何描述这一点所以标题很可能不太具描述性,但这里有:我有一个'布局的集合'在启动时从配置文件加载的对象,用于格式化用户消息。我将这些对象存储在一个以其名称作为键的hashmap中,因为这是大多数时间它们的检索方式,但是,我不确定应该在哪里找到此映射以及随附的添加和删除方法。我应该在布局类中将其添加为静态变量/方法,还是创建一个新类来保存它?
答案 0 :(得分:1)
您可以创建包含地图的单个对象,并在任何地方使用它 - examples。
答案 1 :(得分:0)
我认为最好有一个包含其中所有数据/方法的新类,并为此类维护一个静态变量,如果您希望可以为所需的所有类共享它。单身人士。
答案 2 :(得分:0)
我建议使用Inversion of Dependencies而不是简单的Singleton模式。
在启动时创建单个布局对象 - 它的职责是接受数据并生成用户消息。然后将对象作为属性或构造函数参数传递给其所有用户。
这样可以单独和独立地轻松测试布局及其用户。
答案 3 :(得分:0)
在不知情的情况下,我会说你最好的办法就是创建一个新的类来保存它们,确保你完全隐藏了LayoutLoader
类的实现/内部(支持的hashmap,从文件加载等)客户类。这比直接在布局类中使用静态变量要多得多,这将提高可测试性和可扩展性。在某些时候,您可能希望添加各种方法来加载布局(从文件,内存中等),因此最终可能会有各种LayoutLoader
实现。
但是现在,您可能只是在某个地方保留对该对象的静态引用,并在将来根据需要进行重构。