Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_oop_sdelan.docx
Скачиваний:
4
Добавлен:
16.04.2019
Размер:
929.66 Кб
Скачать

42. Интерфейс iDisposable.

Выше уже упоминалось о том, что метод Finalize не обеспечивает надежного освобождения ресурсов, не находящихся под управлением сборщика мусора. В программировании .NET класс реализует интерфейс IDisposable с единственным методом Dispose, освобождающим занятые ресурсы:

Public Interface IDisposable

Sub Dispose()

End Interface

Итак, запомните следующее правило:

Если ваш класс использует другой класс, реализующий IDisposable, то в конце работы с ним необходимо вызвать метод Dispose.

Как будет показано в главе 8, метод Dispose должен вызываться в каждом графическом приложении, зависящем от базового класса Component, поскольку это необходимо для освобождения графических контекстов, используемых всеми компонентами.

Список классов .NET Framework, реализующих интерфейс IDisposabe (следовательно, поддерживающих метод Dispose, который должен вызываться в приложениях), приведен в описании интерфейса IDisposable в электронной документации.

43. Класс System.Gc

Управляет системным сборщиком мусора — службой, которая автоматически высвобождает неиспользуемую память.

Методы этого класса оказывают влияние на то, когда выполняется сборка мусора и когда высвобождаются ресурсы, выделенные объектом.Свойства этого класса предоставляют сведения об общем объеме доступной памяти системы и о том, к какому поколению относится память, выделенная объекту.

Сборщик мусора отслеживает и уничтожает объекты, находящиеся в управляемой памяти.Периодически сборщик выполняет сборку мусора, чтобы высвободить память, отведенную под объекты, на которые нет действительных ссылок.Сборка мусора автоматически запускается в случае, если требуемый объем памяти больше доступного объема свободной памяти.Кроме того, приложение может принудительно запустить сборку мусора с помощью метода Collect.

Сборка мусора состоит из следующих шагов:

А)Сборщик мусора осуществляет поиск управляемых объектов, на которые есть ссылки в управляемом коде.

Б)Сборщик мусора пытается завершить объекты, на которые нет ссылок.

В)Сборщик мусора освобождает объекты, на которые нет ссылок, и высвобождает выделенную им память.

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

44. Унифицированный язык моделирования. Предметы вUml.

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

В UML имеются четыре разновидности предметов: структурные предметы; предметы поведения; группирующие предметы; поясняющие предметы. Эти предметы являются базовыми объектно-ориентированными строительными блоками. Они используются для написания моделей.

Структурные предметы являются существительными в UML-моделях. Они представляют статические части модели — понятийные или физические элементы. Перечислим восемь разновидностей структурных предметов.

1.      Класс

2.      Интерфейс

3.      Кооперация

4.      Актер

5.      Элемент UseCase

6.      Активный класс

7.      Компонент

8.      Узел

Предметы поведения — динамические части UML-моделей. Они являются глаголами моделей, представлением поведения во времени и пространстве. Существует две основные разновидности предметов поведения:

1.      Взаимодействие

2.      Конечный автомат

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]