我有人类,然后是类
Countries
Languages
我有针对国家和语言的单独课程。我需要在下拉列表和所有语言中显示所有的议员。那么我需要创建一个CountryService类和一个languagaeService类吗?有像getLanguages和getCountries这样的函数吗?
寻找一个好的解决方案。
答案 0 :(得分:2)
答案取决于您对此代码库所期望的增长路径。
除了您提到的功能之外,如果您没有看到添加到CountryService
或LanguageService
类的其他内容,那么添加2个新类可能会使解决方案过度设计。在这种情况下,最好按照向getLanguages
类添加静态方法 Language
以及向{getCountries
添加Country
更多内容。 1}}类
如果你看到你自己扩展了CountryService和LanguageService类的角色和功能,那么这种方法就可以了。
答案 1 :(得分:1)
您的解决方案没有错,但通常像getAvailableCountries()
和getAvailableLanguages()
这样的方法在各自的类中声明为静态方法。这样,您可以像这样使用它们:
List<Country> lc = Country.getAvailableCountries();
List<Language> ll = Language.getAvailableLanguages();
您是否将这些对象保存在数据库中?在这种情况下,我会使用以下任一设计:
该对象负责保存自己:
new Country("United States").save();
new Language("English").save();
该班负责保存对象:
Country.save(new Country("United States"));
Language.save(new Language("English"));