Специфицирование интерфейсов объектов

 

Важной частью любого процесса проектирования является специфицирование интерфейсов между различными компонентами системы. Интерфейсы необходимо определить так, чтобы объекты и другие компоненты можно было проектировать параллельно. Определив интерфейс, разработчики других объектов могут считать, что интерфейс уже реализован.

Одному объекту не обязательно должен соответствовать один интерфейс. Один и тот же объект может иметь несколько интерфейсов, причем каждый из них предлагает свой способ поддержки методов. Такая поддержка имеется непосредственно в Java, где интерфейсы объявляются отдельно от объектов и объекты "реализуют" интерфейсы. Другими словами, через один интерфейс можно получить доступ к набору объектов.

Проектирование интерфейсов объектов связано со спецификацией интерфейса в объекте или группе объектов. Под этим подразумевается определение сигнатур и семантик сервисов, которые поддерживаются этим объектом или группой объектов. В UML интерфейсы можно определить подобно диаграмме классов. Однако раздела свойств там нет, поэтому в стандарте UML шаблон «интерфейс» следует включать в именную часть.

Многие предпочитают альтернативный подход, в котором при определении интерфейса применяется язык программирования. В листинге 10.1 показана спецификация интерфейса на языке Java для метеостанции. По мере усложнения интерфейсов такой подход оказывается более эффективным, так как для обнаружения ошибок и противоречий в описании интерфейса можно воспользоваться средствами проверки синтаксиса, имеющимися в компиляторе языка программирования. Из представленного описания видно, что некоторые методы могут использовать разное количество параметров. Например, метод завершение без параметров применяется к целой станции, а тот же метод с параметрами может отключить один прибор.

 

Листинг 10.1. Описание интерфейса метеостанции

 

interface Метеостанция {

public void Метеостанция();

public void запуск();

public void запуск (Прибор i);

public void завершение();

public void завершение(Прибор i) ;

public void отчетПогода();

public void тестировать();

public void тестировать(Прибор i);

public void калибровать(Прибор i);

public int получитьИдНомер();

 

}//Метеостанция








Дата добавления: 2015-08-14; просмотров: 934;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.