Протоколу присвоено уникальное имя
Протокол применяется по крайней мере в одной кооперации.
Краткое описание протокола отражает его назначение и роль, которую протокол играет в системе.
Протокол представляет собой цельную совокупность объектов ответственности
Все сигналы в протоколе напрямую относятся к выполнению роли протокола в системе
Сигналы применяются для решения задач более высокого уровня, чем обмен данными между двумя капсулами |
Сигналы выбраны наиболее общим способом, при котором можно сохранить ясность
Например, если в протоколе предусмотрено подтверждение доставки нескольких сигналов 'Out', для подтверждения
используется один и тот же сигнал 'Ack'. |
У протокола есть конкретное предназначение в системе
Если протокол регламентирует выполнение нескольких процедур (например, обработку управляющих сигналов и обработку
вызовов), его реализация разделена на несколько классов. |
Протоколы описаны языком, понятным пользователю, а не поставщику.
Последовательно выполняются рекомендации по выбору сторон сопряжения интерфейсов.
Для минимизации необходимости сопряжения интерфейсов асимметричные протоколы реализованы на стороне клиента (пользователя). |
Асимметричным классам присвоены имена, подчеркивающие их направленность
Пример имени: 'ClientResourceInterface' |
|