Нужно ли создавать отдельный класс обслуживания для одной функции в Java - PullRequest
2 голосов
/ 03 марта 2011

У меня есть личный класс, а затем класс как

Countries 
Languages

У меня есть отдельные классы для стран и языков.Мне нужно отобразить все страны в выпадающем списке и все языки.Так нужно ли мне создавать класс CountryService и класс vulgaeService?С такими функциями, как getLanguages ​​и getCountries?

Ищете хорошее решение.

Ответы [ 2 ]

2 голосов
/ 03 марта 2011

Ответ зависит от пути роста, который вы ожидаете для этой базы кода.

Если вы не увидите, чтобы к классу CountryService или LanguageService добавлялось что-то еще, кроме функций, о которых вы упомянули, то добавление 2 новых классов может привести к чрезмерной разработке решения. В этом случае может быть лучше сделать что-то более похожее на , добавив статический метод getLanguages к классу Language и getCountries к классу Country

Если вы видите, что расширяете свою роль и функционал в классе CountryService и классе LanguageService, тогда этот подход будет вполне приемлемым.

1 голос
/ 03 марта 2011

Ваше решение не является неправильным, но обычно такие методы, как 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"));
    
...