Добавил:
выбрасываю тут свой мусор, надеюсь, что он кому-то может пригодится... Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP-KONEChNYJ.docx
Скачиваний:
20
Добавлен:
03.12.2023
Размер:
7.72 Mб
Скачать

16. Понятие и назначение домена приложений. Достоинства и недостатки домена по сравнению с потоками и процессами.

Домен приложения — это своеобразный контейнер, внутри которого запускается программа, и который изолирует ее во время выполнения. Домен задает границы управляемой памяти для приложения и является контейнером для загруженных сборок и параметров конфигурации приложения. Каждый процесс обычно размещает только один домен приложения — стандартный домен, автоматически созданный CLR при запуске процесса. Однако в рамках одного процесса возможно создавать дополнительные домены приложений.

Домен приложения - играет роль процесса в среде .NET. Домен приложения .NET позволяет работать нескольким программам в рамках одного процесса операционной системы, не мешая друг другу. В каждом процессе ОС может быть несколько доменов.

Несколько доменов приложений обычно применяются с целью обеспечения изоляции схожей с процессами, но с меньшими накладными расходами. Когда дополнительные домены приложения созданы внутри одного и того же процесса, среда CLR обеспечивает для каждого из них уровень изоляции, сходный с таковым в случае выполнения в отдельных процессах. Каждый домен имеет отдельную память, объекты в одном домене не могут конфликтовать с объектами в другом домене, статические члены одного и того же класса в каждом домене имеют независимые значения. Например в ASP.NET для каждого сайта создается отдельный домен приложения, позволяя сайтам выполняться в одном процессе не влияя друг на друга.

Еще одна причина создания отдельного домена приложения — позволить сборкам выгружаться, не завершая процесс. После загрузки сборки файл сборки блокируется и его нельзя редактировать или заменить. Чтобы разблокировать файл, сборку надо выгрузить. Единственный способ выгрузить сборку — закрыть домен приложения, в котором она загружена. Это становится проблематично если сборка была загружена в стандартный домен приложения, так как закрытие этого домена означает закрытие приложения. Загрузка сборки в отдельный домен приложения, который может быть уничтожен, позволяет обойти данную проблему.

Использование нескольких доменов внутри одного процесса вместо нескольких процессов приводит к существенной экономии ресурсов и существенно повышает скорость взаимодействия.

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

Скорость взаимодействия между процессами значительно ниже скорости взаимодействия между доменами внутри одного процесса.

К недостаткам относится невозможность использования параллелизма на уровне потоков.

17. Основные цели, достоинства и недостатки ооп.

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

Основные цели ООП

  • Абстрактное представление данных для создания чётко определённого интерфейса всех объектов;

  • Моделирование объектов и их взаимодействия в реальных ситуациях.

Основные принципы ООП:

Инкапсуляция – сокрытие реализации объекта от использующих их модулей, объединение методов и данных;

Наследование – выведение новых типов на базе уже существующих;

Полиморфизм – один интерфейс – множество реализаций.

Преимущество ООП:

  • Позволяет писать более компактные программы за счет повторного использования кода;

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

  • Создание программы эволюционным путем из отдельных подсистем (выпуска отдельными версиями);

  • Объектная модель более естественна для человека;

  • Позволяет объединять методы и данные.

  • Удобство сопровождения и совершенствования;

Недостатки ООП:

  • Некоторое снижение производительности (Код на C++ медленнее чем на Си до 10%);

  • Использует больше памяти (например виртуальные таблицы);

  • Идеи ООП не просты для понимания и в особенности для практического применения;

  • Большая ответственность при подходе к проектированию системы (плохая структура системы ведет к невозможности ее улучшению и дальнейшему использованию)

Соседние файлы в предмете Объектно-ориентированное программирование