7 Глава Uno интерфейс Flashcards

(32 cards)

1
Q

Что такое компонент в ПО?

A

Единица композиции с контрактными интерфейсами и явными зависимостями, может быть развёрнута независимо.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Чем отличается объект от компонента?

A

Объекты — абстракция логики, компоненты — сборка готовых частей, ориентированы на переиспользование.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что такое компонентная модель?

A

Спецификация того, как должен выглядеть компонент: интерфейсы, метаданные, упаковка, совместимость и др.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что такое компонентный фреймворк?

A

Реализация компонентной модели в виде инструментов и кода поддержки (например, UNO, JBoss).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Примеры элементов компонентного фреймворка

A

Naming Service, Meta Data, Lifecycle Management, Event Service, Object Trader, Persistence, Concurrency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что делает Naming Service?

A

Поиск компонентов по имени, регистрация компонентов в системе (аналог телефонного справочника).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Что такое Meta Data в UNO?

A

XML-файлы с описанием компонентов, сервисов и типов, используемые при сборке.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Что делает Service Manager?

A

Единый компонент, создающий сервисы по запросу и управляющий их жизненным циклом.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Что такое WeakObject?

A

Объект, создаваемый не ServiceManager, а другими компонентами (например, слушатели).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Как устроена удалённая связь в UNO?

A

Через URL вида uno:socket,host=…,port=… используется IPC и прокси.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Как работает прокси в UNO?

A

Клиентский объект обращается не к реальному удалённому объекту, а к его представителю.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Что такое интерфейс XInterface?

A

Базовый интерфейс всех компонентов в UNO, содержит методы acquire(), release(), queryInterface().

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Как управляется время жизни объектов?

A

Через подсчёт ссылок: когда ссылок нет, объект удаляется (аналог COM).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Что такое XComponent?

A

Интерфейс для обработки событий уничтожения компонента, содержит метод dispose().

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Как решаются циклические ссылки?

A

Через XComponent, XEventListener и WeakReferences.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Какая производительность вызовов?

A

Вызов в процессе ~6.4 нс, между процессами ~98 мкс.

17
Q

Что делает XMain?

A

Интерфейс для компонентов, нуждающихся в точке входа (аналог main).

18
Q

Что делает XTypeProvider?

A

Предоставляет информацию о реализуемых интерфейсах компонента.

19
Q

Что делает XServiceInfo?

A

Сообщает, какие сервисы реализует данный компонент.

20
Q

Для чего нужен URLResolver?

A

Для получения удалённого сервиса по URL.

21
Q

Какие типы поддерживает UNO?

A

Простые, структуры, перечисления, any, исключения, интерфейсы.

22
Q

Что такое Struct в UNO?

A

Тип с полями и наследованием, не имеет ссылочного счётчика.

23
Q

Что такое Sequence в UNO?

A

Последовательность элементов с управлением ссылками и стратегией copy-on-modify.

24
Q

Что такое Any в UNO?

A

Универсальный контейнер для хранения значения любого UNO-типа.

25
Что включает SDK UNO?
Компиляторы IDL, генераторы кода, утилиты для регистрации и документации.
26
Что такое URE?
Библиотеки и инструменты для работы с UNO вне OpenOffice, как платформа.
27
Чем отличаются WeakObjects и Services?
WeakObjects не регистрируются в сервис-реестре, Services — да.
28
Что такое IDL в UNO?
Язык описания интерфейсов и компонентов, независимый от языка реализации.
29
Поддерживает ли UNO множественное наследование интерфейсов?
Нет, множественное наследование не поддерживается.
30
Что такое Event Service?
Механизм обмена событиями, поддерживает push и pull модели.
31
Что такое Persistence в UNO?
Возможность сохранить состояние компонента и восстановить его из хранилища.
32
Что делает Concurrency Service?
Обеспечивает контроль доступа к компонентам: только чтение, только запись и др.