Android/Java的正确代码设计
代码设计问题
我有一个类,比如说Area
,它有一个名为schools
的私有实例变量。在Area
的构造函数中,我初始化了所有学校,因为这是一个耗时的过程。在Area
中有一个实例方法,表示通过学生名单的学校分组。我把这些学生分组到他们的学校,然后把结果传回去
这个Area
班需要维护一份学校列表以及分组,这是不是责任太大了?但我的主要问题是与Android相关的:
我有多个片段需要使用这个类。他们利用学校的数量、学校列表以及分组。我不想每次打开新片段时都实例化这个Area
。我应该在片段或其他地方的何处以及如何实例化它们?我不能让它成为一个单例,因为area
可以改变,反过来它需要重新实例化自己。我不能把setSchools
当作是一次性的事情。有什么想法吗?有我可以遵循的设计模式吗
# 1 楼答案
我的想法是拥有一个处理区域创建的类(可能是您的应用程序类)
然后,应用程序基本上可以将一张区域地图保存到某种形式的区域id。如果您发现一个尚不存在的区域,您可以在该点创建它,并将其存储在地图中,供其他片段稍后使用
关于学生的分类,这似乎不是一个地区的工作。 也许使用
StudentManager
之类的东西更有意义这就是我的想象(以简化的形式):
我相信你可以改进学生经理的班级分类,但这种分类对我来说是有意义的