Fluent Interface
Текучий интерфейс
Передаваемый контекст
Пример
Пример без использования Fluent Interface
Продвинутое использование (пример из PHP)
Пример без использования Fluent Interface
697.76K
Category: programmingprogramming

Fluent Interface

1. Fluent Interface

ВЫПОЛНИЛ СТУДЕНТ ГРУППЫ Б07-021-1
ЯКИМОВ ПАВЕЛ

2. Текучий интерфейс

(англ. fluent interface) в разработке
программного обеспечения – способ
реализации
объектноориентированного API, нацеленный на
повышение читабельности исходного
кода программы. Название придумано
Эриком Эвансом и Мартином Фаулером.

3. Передаваемый контекст

определен
с
помощью
возвращаемого методом;
значения,
наследуется
(в качестве нового контекста
используется предыдущий);
прекращается
возвращением
значащего значения (void).
ничего
не

4. Пример

var mark = db.Mark
.Where(v => v.StudentId == student.Id)
.Where(v => v.DisciplineId == disc.Id)
.Where(v => v.SemestrId == semester.Id)
.FirstOrDefault();

5. Пример без использования Fluent Interface

var mark = db.Mark;
mark.Where(v => v.StudentId == student.Id)
mark.Where(v => v.DisciplineId == disc.Id)
mark.Where(v => v.SemestrId == semester.Id)
mark.FirstOrDefault();

6. Продвинутое использование (пример из PHP)

$books = BookQuery::create()
->useAuthorQuery()
->filterByName('Leo Tolstoi')
->endUse()
->find();

7. Пример без использования Fluent Interface

$authorQuery = AuthorQuery::create();
$authorQuery->filterByName('Leo Tolstoi');
$bookQuery = BookQuery::create();
$bookQuery->setAuthorQuery($authorQuery);
$books = $bookQuery->find();
English     Русский Rules