[x]. В результате ссылочных операций появляются динамические псевдонимы. Они затрудняют получение выводов о работе системы при анализе ее текста. На практике большинство нетривиальных действий со ссылками можно инкапсулировать в библиотечные классы.
Библиографические замечания
Понятие идентичности объекта играет важную роль для баз данных, особенно объектно-ориентированных. Смотри лекцию 13 курса "Основы объектно-ориентированного проектирования", посвященную таким базам данных, и библиографию к ней.
Графические обозначения метода BON (Business Object Notation) разработаны Jean-Marc Nerson и Kim Walden [Walden 1995]. James McKim и Richard Bielak детально рассмотрели преимущества альтернативных порождающих процедур [Bielak 1994].
Риски, связанные с нетипизированными указателями и ссылочными операциями, уже долгое время волнуют специалистов в области методологии программирования, порождая намеки на то, что в области данных это аналог ненавистной операции goto в области управления выполнением кода. В удивительно малоизвестной статье Nori Suzuki [Suzuki 1982] обсуждается возможность избежать в рамках строгого подхода с использованием высокоуровневых операций проблем с динамическими псевдонимами (как избавляются от применения goto, используя приемы "структурного программирования"). Хотя по признанию автора выводы неутешительны, данная статья весьма полезна.
Я признателен Ross Scaife из Университета Кентукки за помощь по вопросам риторики. См. его страницу http://www.uky.edu/ArtsSciences/Classics/rhetoric.html.
Упражнения
У8.1 Книги и авторы
Напишите классы
У8.2 Личности
Напишите класс PERSON включающий простое понятие личности с атрибутами
У8.3 Проектирование нотации
Предположим, вы часто используете сравнение в форме
Лекция 9. Управление памятью
Честно говоря, было бы неплохо забыть про память. Программы создавали бы объекты по мере надобности. Неиспользованные объекты исчезали бы в небытие, а необходимые медленно передвигались бы вверх. Этот процесс подобен движению по служебной лестнице работника большой корпорации, в конце карьеры достигшего уровня руководства. Но это не так. Память не безгранична и не организуется в непрерывный ряд слоев с уменьшающейся скоростью доступа. Нам необходимо увольнять наших бестолковых работников даже, если мы должны называть это ранним уходом на пенсию, продиктованным общей экономической ситуацией. Эта лекция изучает, кто все же должен быть сокращен, кем и как.
Что происходит с объектами
ОО-программа создает объекты. Предыдущая лекция показала, как полезно полагаться на динамическое создание для получения гибких объектных структур, подстраивающихся автоматически к нуждам системы.
Создание объектов
Мы рассмотрели базовые операции размещения новых объектов. Простейший способ размещения записывается как
create x
и его эффект был определен триадой: создать новый объект; связать его со ссылкой