Какая разница между ссылочными объектами и объектами-значениями в UML? - PullRequest
2 голосов
/ 12 июля 2011

Я не понимаю описания в книге Мартина Фаулера "UML Distilled".

Ответы [ 2 ]

4 голосов
/ 13 июля 2011

Думайте о ссылочном объекте как о конкретном экземпляре с собственной «жизнью», который может заинтересовать несколько человек. Например, Сотрудник или Орден.Если я пойду и найду сотрудника с номером 83 и укажу некоторые его атрибуты, а вы сделаете то же самое, мы ожидаем получить тот же ответ. Если я изменю номер телефона сотрудника, вы увидите это изменение:

мы оба ссылаемся на один и тот же объект

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

0 голосов
/ 13 июля 2011

Ссылка - это адрес (указатель), на котором находится значение объекта.Значение является фактическим значением двоичного представления.Если вы присваиваете значение, вы делаете копию значения в новую переменную.Если вы присваиваете ссылку, вы просто передаете адрес, где сохранено значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...