Артефакты проектирования - 2-й Артефакт: Класс проектирования Печать
Аналитика - Компьютеры
11.12.2011 20:05

Артефакты проектированияКласс проектирования – это наиболее приближенная к реальности абстракция класса или похожей конструкции реализации системы. Наиболее близкой к реальности по следующим причинам: 1. Язык, используемый для описания класса проектирования, тот же, что и язык программирования для реализации. Соответственно, операции, параметры, атрибуты, типы и другие подробности определяются с использованием синтаксиса выбранного языка программирования.

2. Часто задается видимость атрибутов и операций класса проектирования. Например, в языке C++ для этого обычно используются ключевые слова public, protected и private.

3. Отношения с другими классами, в которых участвует данный класс проектирования, часто получают явное выражение при реализации этого класса. Например, обобщение во всех стереотипах обобщения имеет семантику, которая соответствует обобщению в языке программирования. Таким образом, обобщения и агрегации часто отображаются на соответствующие переменные (атрибуты) реализации, соответствующие ссылкам на объекты.

4. Методы класса проектирования прямо отображаются на соответствующие методы классов реализации. Методы, определяемые в ходе проектирования, часто определяются на естественном языке или на псевдокоде и могут быть в таком виде использованы в аннотации к реализации этих методов. Это одна из немногих серьезных абстракций, переходящих из проектирования в реализацию, и непосредственная причина нашей рекомендации задействовать для выполнения проектирования и реализации класса одного и того же разработчика.

5. Класс проектирования может переложить обработку некоторых требований на последующую реализацию, передав ей требования к реализации класса. В результате становится возможным отложить принятие решений, которые невозможно сделать на основе модели проектирования, например, касающихся вопросов кодирования класса.

6. Класс проектирования часто задается стереотипом, который напрямую отображается в конструкцию соответствующего языка программирования.

7. Класс проектирования может быть реализован — и реализуется — в виде интерфейса, если это понятие существует в выбранном языке программирования. Например, класс проектирования, представляющий класс языка Java, может быть реализован в виде интерфейса.

8. Класс проектирования может быть активным. Это означает, что объекты класса будут использовать свою собственную нить управления, работая параллельно с другими активными объектами. Однако обычно классы проектирования неактивны. Это означает, что все их объекты «запускаются» в едином адресном пространстве под управлением другого активного объекта. Детали семантики этого процесса зависят от языка программирования и используемых в нем технологий параллельной или распределенной обработки. Отметим важность разницы между активными классами и неактивными.

Активные классы могут, следовательно, в качестве альтернативы, содержаться не только в модели проектирования, но и в их собственной модели процесса. Такое характерно для случая множества активных классов, объекты которых тесно интегрированы, - например, в системах реального времени.