Mercurial > pub > Impl
comparison Lib/IMPL/Web/Application/OperationContract.pm @ 268:4abda21186cd
*refactoring IMPL::Web: added 'application' property to resources
author | cin |
---|---|
date | Mon, 21 Jan 2013 02:08:17 +0400 |
parents | 6d8092d8ce1b |
children |
comparison
equal
deleted
inserted
replaced
267:bbc0da7ef90e | 268:4abda21186cd |
---|---|
66 | 66 |
67 =begin code | 67 =begin code |
68 | 68 |
69 use IMPL::require { | 69 use IMPL::require { |
70 'OperationContract' => 'IMPL::Web::Application::OperationContract', | 70 'OperationContract' => 'IMPL::Web::Application::OperationContract', |
71 'RedirectResponse' => 'IMPL::Web::Application::RedirectResponse' | 71 'HttpReponse' => 'IMPL::Web::Application::HttpReponse' |
72 }; | 72 }; |
73 | 73 |
74 my $operation = OperationContract->new( | 74 my $operation = OperationContract->new( |
75 binding => sub { | 75 binding => sub { |
76 my ($resource,$request) = @_; | 76 my ($resource,$request) = @_; |
89 | 89 |
90 =end code | 90 =end code |
91 | 91 |
92 =head1 DESCRIPTION | 92 =head1 DESCRIPTION |
93 | 93 |
94 Для орисания контракта операции используется понятие делегата, тоесть объекта, | 94 Для описания контракта операции используется понятие делегата, тоесть объекта, |
95 представляющего собой функцию, либо объект, имеющий метод C<Invoke>. | 95 представляющего собой функцию, либо объект, имеющий метод C<Invoke>. |
96 | 96 |
97 Поскольку предметная область должна быть отделена от | 97 Поскольку предметная область должна быть отделена от |
98 контроллеров веб-сервиса, она ничего не знает про существование ресурсов и их | 98 контроллеров веб-сервиса, она ничего не знает про существование ресурсов и их |
99 организацию и тем более о протоколе C<HTTP>, поэтому все вещи, связанные с | 99 организацию и тем более о протоколе C<HTTP>, поэтому все вещи, связанные с |