Какова основная тема в OSGi?

При вызове участника класса Python автоматически использует ссылку на объект как первый параметр. Переменная self на самом деле средства ничто, это - просто соглашение кодирования. Вы могли назвать его gargaloo, если бы Вы хотели. Однако вызов к method_two повысил бы TypeError, потому что Python автоматически пытается передать параметр (ссылка на ее родительский объект) к методу, который был определен как имеющий параметры.

, Чтобы на самом деле заставить его работать, Вы могли добавить это к своему определению класса:

method_two = staticmethod(method_two)

или Вы могли использовать @staticmethod функциональный декоратор .

8
задан Michael Petrotta 27 May 2012 в 02:58
поделиться

2 ответа

Если присмотреться, концепция пути к классам в Java действительно отстой.

Вы распространяете свои классы в файлах JAR, но во время выполнения Java (почти) вслепую сбрасывает все классы из всех файлов JAR в один большой мешок, где классы с одинаковыми именами затмевают друг друга, а затем взаимодействуют неожиданным образом.

OSGi привносит в платформу Java надлежащую модульность среды выполнения и, кроме того, мощную сервисную модель, иногда называемую «SOA внутри JVM».

Я настоятельно рекомендую прочитать несколько вводных статей об OSGi, которые дадут более конкретное представление о том, что все это значит. Хорошей отправной точкой может быть серия статей на InfoQ о модульности Java, написанная Алексом Блевиттом:

17
ответ дан 5 December 2019 в 05:45
поделиться

OSGi - это

  • модульная система для Java: она предоставляет способ экспорта и импорта пакетов Java и обеспечения соблюдения границ модуля, включая явную информацию о зависимостях и версии.

  • Обобщенный контейнер для систем Java: пакеты могут динамически загружаться и выгружаться без остановки системы, где "пакет" - это, по сути, файл jar.

  • Сервис-ориентированная система программирования: помимо модульной разбивки системы на пакеты, OSGi поддерживает сервис -ориентированная модульность, включая такие вещи, как шаблон доски (PDF).

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

5
ответ дан 5 December 2019 в 05:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: