Тип и класс реализации
В первом издании книги «UML. Основы» я рассмотрел различные точки зрения на разработку и те возможные изменения, которые произойдут в результате совершенствования способов изображения и интерпретации моделей, в частности это касается диаграмм классов. Эти обстоятельства нашли отражение в языке UML, поскольку теперь утверждается, что все классы на диаграмме классов могут быть определены либо как типы, либо как классы реализации.
Класс реализации (implementation class) соответствует некоторому классу в контексте разрабатываемой программы. Тип (type) является более расплывчатым понятием; он представляет некоторую абстракцию, которая в меньшей степени касается реализации. Это может быть тип CORBA, описание класса с точки зрения спецификации или некоторая концептуальная модель. При необходимости можно определить дополнительные стереотипы, чтобы в последующем различать эти понятия.
Можно установить, что для отдельной диаграммы все классы обладают некоторым особым стереотипом. Это может произойти в том случае, когда диаграмма отражает отдельную точку зрения. При этом подход с точки зрения реализации предполагает использование классов реализации, а концептуальная точка зрения и точка зрения спецификации предполагают использование типов.
|
|
Если некоторый класс реализации представляет один или несколько типов, то это может быть показано с помощью отношения реализации.
Между типом и интерфейсом существует различие. Предполагается, что некоторый интерфейс должен непосредственно соответствовать интерфейсу в стиле Java или СОМ, В этом случае интерфейсы имеют только операции и не имеют атрибутов.
Для класса реализации может быть использована только однозначная статическая классификация, однако в случае типов классификация может быть множественной и динамической. (Я думаю, дело тут в том, что основные объектно-ориентированные языки поддерживают единичную статическую классификацию. Если в один прекрасный день вы будете пользоваться языком, который поддерживает множественную или динамическую классификацию, то это ограничение может быть снято.)