Unified Modeling Language

UML - Unified Modeling Language (Унифицированный язык моделирования)

28  01 2008

09. Диаграмма классов: ссылочные объекты и объекты-значения. Постоянство (persistence).

Ссылочные объекты (reference objects) - это такие объекты, как Клиент. В реальном мире конкретному клиенту обычно должен соответствовать только один программный объект. Любой объект, обратившийся к объекту Клиент, может воспользоваться соответствующей ссылкой или указателем; в результате все объекты, обратившиеся к данному Клиенту, получат доступ к одному и тому же программному объекту. Аналогично изменения, вносимые в объект Клиент, становятся доступными всем пользователям этого объекта.

Объекты-значения (value objects) - это такие объекты, как Дата. Как правило, один и тот же объект в реальном мире может быть представлен целым множеством объектов-значений. Например, вполне нормально, когда имеются сотни объектов со значением «1 января 1999 года». Все эти объекты являются взаимозаменяемыми копиями. При этом новые даты создаются и уничтожаются достаточно часто.

Объекты-значения должны быть постоянными. Другими словами, не должно допускаться изменение значения объекта-даты «1 января 1999 года» на «2 января 1999 года». Вместо этого следует создать новый объект «2 января 1999 года» и связать его с первым объектом.

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

По отношению к классу постоянство указывает, что все концы ассоциации и атрибуты, связанные с данным классом, являются постоянными.

Постоянство и ограничение «только для чтения» (read-only) - это не одно и тоже. «Только для чтения» предполагает, что соответствующее значение нельзя изменить непосредственно, однако оно может быть изменено вследствие изменения какого-либо другого значения.

Leave a Reply

You must be logged in to post a comment.