Хорошая или плохая идея сделать сеттеры в возврате java "this"?
public Employee setName(String name){
this.name = name;
return this;
}
Этот шаблон может быть полезен, потому что тогда вы можете настроить сеттеры следующим образом:
list.add(new Employee().setName("Jack Sparrow").setId(1).setFoo("bacon!"));
вместо этого:
Employee e = new Employee();
e.setName("Jack Sparrow");
...and so on...
list.add(e);
... но это похоже на стандартную конвенцию. Полагаю, что это может быть полезно только потому, что это может заставить этого сеттера сделать что-то еще полезное. Я видел, что этот шаблон использовал некоторые места (например, JMock, JPA), но он кажется необычным и обычно используется только для очень хорошо определенных API, где этот шаблон используется повсюду.
Update:
То, что я описал, очевидно, действительно, но то, что я действительно ищу, - это некоторые мысли о том, является ли это вообще приемлемым, и если есть какие-либо подводные камни или соответствующие передовые методы. Я знаю о шаблоне Builder, но это немного больше связано с тем, что я описываю - как описывает Джош Блох, существует связанный с ним статический класс Builder для создания объекта.