我是否需要为java中的一个函数创建单独的服务类

时间:2011-03-03 17:40:19

标签: java design-patterns class service

我有人类,然后是类

Countries 
Languages

我有针对国家和语言的单独课程。我需要在下拉列表和所有语言中显示所有的议员。那么我需要创建一个CountryService类和一个languagaeService类吗?有像getLanguages和getCountries这样的函数吗?

寻找一个好的解决方案。

2 个答案:

答案 0 :(得分:2)

答案取决于您对此代码库所期望的增长路径。

除了您提到的功能之外,如果您没有看到添加到CountryServiceLanguageService类的其他内容,那么添加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"));