41. C-sharp 37 15-07-2014

Created Tuesday 15 July 2014

Задача

1-й этап:

Показать, что что-то может работать (кликается и т.д.) — прототип на Web Forms

2-й этап:

Разрабатывать дальше

AVIS — сдаёт на прокат автомобили

Автомобили ломаются и их надо ремонтировать.
Есть конкуренция среди гаражей, которые хотят работать с AVIS.
У AVIS есть несколько горожей, с которыми она работает.
Работа начинается с того, что нужно отремонтировать автомобиль и AVIS шлёт заказ одному или нескольким гаражам в формате PDF (upload) или по мейлу.
В гараж приходит заказ в виде PDF
Должен быть экран гаража с формой, рядом с которой рендерится PDF и нужно заполнять поля формы в соответствии с данным PDF.
После этого отображается таблица с введёнными данными и несколько кнопок управления.
Иногда нужно сделать что-то дополнительное. и тогда обратно посылается ценник.
Если вместо статуса есть ценник, то AVIS должен либо подтвердить, либо отказаться. Если да, то статус меняется на "в процессе", если нет, то статус меняется на "отменён". (Отдельный экран для AVIS).

avis/home
avis/garage
avis/branch
avis/tech
avis/admin

Хостинг Windows:

smarterasp.net

Паттерн Repository

Схема, когда разделение на BL, DAL, UI делается в каждом классе
Класс, который содержит только данные:
Class OrderBTO
{
}
Класс
class Order
{
OrderBTO ord;
Repository rep;
}
Класс Repository
class Repository
{
print();
}

Extension methods

Возможность добавить для задачи к готовому закрытому классу (напр. String) свой метод.
Пример применения: fluent interface

RESTful

URLs + CRUD (HTTP verbs) + Leonard Richardson's maturity model for REST + Returning appropriate status codes
Types of web services:

RPC
ashx
asmx
web api
wcf
Leonard Richardson's maturity model for REST
Модель, по которой можно за конечное количество шагов перейти от любого вида API к RESTful API
5 уровней
Level 0
XML-RPC/SOAP
One URI
Une HTTP method
Level 1
Add URIs
Many URIs/Resources
One HTTP method
Level 2
Add HTTP
Many URIs/Resources
Use of HTTP verbs
Level 3
Add HATEOAS
Return URIs for each resourse
Level 4
Return HTTP Status Codes



Backlinks: