function lastPostCommentsForUser(User user, PostsRepo posts, CommentsRepo comments)
{
lastPost = posts.getLastUserPost(user);
return comments.getUserPostComments(user, lastPost);
}
$user->getCommentsOfLastPost();
class User {
function getCommentsOfLastPost()
{
$this->getLastPost()->getComments();
}
function getLastPost()
{
$this->getPosts()->getLast();
}
}
Для многих современных объектно-ориентированных языков программирования, использующих точку, как оператор доступа к членам класса, закон может быть перефразирован как «Используйте только одну точку».
Ну и chained-методы в динамических языках плохи тем, что один из элементов цепи может вернуть не объект, и тогда будет ошибка обращения к методу «не-объекта».