Соотношение объектов 1: 1 с «Передать по ссылке» - PullRequest
0 голосов
/ 30 марта 2020

У меня есть два класса User и Task:

public class User {

private Task task;
private List<Item> items;

// constructor
public User() {
    this.task = new Task(this);
    this.items = new ArrayList<>();
}

// getters

}

Класс задачи имеет ссылку на пользователя:

public class Task{

// should be always the same as user.items !!!
private List<Item> items;
private User user;

// constructor
public Task(User user){
    this.user = user;
    // Pass by reference ?
    this.items = user.getItems();
}

public void addItem(Item item){
    this.items.add(item);
}

}

Теперь мои вопросы:

  1. Если я добавлю item с task.addItem(item), будет ли этот пункт также добавлен к user.items? Является ли жизненный цикл и экземпляр user.items точными и всегда такими же, как task.items.

  2. На самом деле у меня есть много методов в User.class и я хочу извлечь эти методы в Task.class. При этом у меня есть отношение 1: 1 между пользователем и задачей. Есть ли другой шаблон проектирования для этого (состав / агрегация).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...