Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Где логичней использовать геттер


Автор: elvis79 28.7.2011, 16:34
Имеются 2 сущности: отделы и работники. Им отвечают соответсвующие таблици в БД. Работник и отдел связаны полем id_отдела:

Dept.java - сущность "отдел"
DeptManager.java - клас менежер для отдела (возвращает список всех отделов, отдел по id)
Personal.java - сущность "Работник"
PersonalManager.java - клас менежер для работника

Вопрос: в каком классе, по логике, должен находится геттер, который возвращает список работников определенного отдела? В менежере отдела или в менежере работника с передачей отдела в качестве параметра?

Прошу сильно не пинать, я новичок в java

Автор: danilych 28.7.2011, 16:51
Я думаю ответ кроется в фразе 
Цитата
 возвращает список работников определенного отдела 
, т.е. класс отдела содержит в себе список сотрудников. И я бы оставил 2 класса - Отдел и Сотрудник, т.к. и менеджер отдела, и менеджер для сотрудника это все тот же класс Сотрудник

Автор: elvis79 28.7.2011, 16:58
Dept

  id
  name

DeptManager

  public ArrayList<Personal> getPersonals() { <--тут
  ...
  }

Personal
  id
  id_dept
  name

PersonalManager

  public ArrayList<Personal> getPersonals(Dept dept) { <--или тут
  ...
  }

Вопрос чисто на грамотное проєктирование

Добавлено через 3 минуты и 25 секунд
Я тоже думаю, что в Отделе 

Автор: danilych 28.7.2011, 17:09
мое видение такое

Dept

  private Long id;
  private String name;
  private List<Personal> persons;
  private  Personal manager;
  
  public List<Personal> getPersonals(){...}

Personal
  private Long id;
  private Dept department;
  private String name;
  private Personal manager;

Ваши классы PersonalManager и DeptManager, по-моему, излишни

Автор: elvis79 29.7.2011, 11:29
Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)