Response
не может быть создан напрямую.Он использует шаблон проектирования Builder , который является одним из 23 известных шаблонов проектирования GoF , которые описывают, как решать повторяющиеся проблемы проектирования в объектно-ориентированном программном обеспечении..
Шаблон проектирования Builder нацелен на решение таких проблем, как:
- Как класс (один и тот же процесс построения) может создавать различные представления сложного объекта?
- Как можно упростить класс, который включает создание сложного объекта?
Вместо создания экземпляров объектов непосредственно с new
, создание объекта делегировано строителю , что позволяет контролировать этапы процесса строительства.
Просмотрите сводку конструктора Response
в документации класса.Вы найдете один protected
конструктор , который не может быть вызван непосредственно из вашего кода.
Вместо этого вы должны использовать один из Response
статические методы для получения ResponseBuilder
экземпляра и последующего получения Response
от этого.
ResponseBuilder
позволяет вам контролировать, как создается Response
, определяя код состояния, сущность, заголовки ответа, куки и т. д. Как только вы закончите, вы вызываете build()
ион вернет экземпляр Response
.
Давайте посмотрим на каждый шаг:
Response.status(Status.OK) // Create a new ResponseBuilder with the supplied status
.entity(object.toString()) // Set the response entity in the builder
.build(); // Create a Response instance from the ResponseBuilder
Другим известным примером использования шаблона проектирования Builder является класс StringBuilder
.