Если в методе требуется только одно поле объекта, что следует передать в качестве параметра - объект или значение поля? - PullRequest
7 голосов
/ 23 октября 2009

Допустим, есть метод, который ищет авторов книг по идентификатору книги. Что следует передать в качестве параметра этому методу - только book.id (int) или целый объект книги?

Или другой пример. В Java я должен сделать некоторую работу с текущим URL страницы. Что следует передать такому методу - только request.getRequestURL () или весь запрос?

Я вижу преимущества каждого метода, но не могу придумать хорошее правило, когда что использовать.

Спасибо.

Ответы [ 12 ]

0 голосов
/ 23 октября 2009

Я согласен с предыдущими постерами. Я хотел бы добавить, что если вам понадобятся несколько свойств объекта (id, title, author), я бы предложил передать объект (или интерфейс к объекту). Короткие списки параметров, как правило, предпочтительнее.

0 голосов
/ 23 октября 2009

Если вы пишете своего рода DAO, вам следует подумать о наличии BookSelector, который можно создать как: new BookSelector().byId(id).bySomethingElse(somethingElse), и передавать этот селектор вместо распространения методов findByXYZ.

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