![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 5 Всего: 9 |
задача такая - построить расширяемую модульную систему .
Тоесть построить некоторый интерфейс, реализуя который можно было бы построить модуль для некоторой системы вопрос такой : 1. я где то читал что для решения такого рода задач существует дезайн паттерн ... какой ? 2. возможно есть стандарные решения таких задач например с помощью механизма reflection ? Спасибо. -------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
| rni |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 10.3.2004 Репутация: 1 Всего: 3 |
--------------------
r-xr-xr-x 3 мусорных ведра корня 14312 9 января 2000 perl |
|||
|
||||
| ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 5 Всего: 9 |
нет
я имею ввиду реализацию системы так называемую систему плагинов при которой к скомпилиномуу проекту прибаляется класс или несколько классов и получается расширеная функиональность ! -------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Есть такое понятие как паттерны (шаблоны) проектирования.
Книг по этой тематике можно найти - например, "Применение шаблонов в JAVA" Стелтинг С., Маасен О. |
|||
|
||||
| ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 5 Всего: 9 |
я ее в руках сейчас держу !
найти что нужно не могу -------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Возможно. Что то похожее мне приходилось реализовывать (у меня была задача написать конфигурироемое из конига дерево и изменяемые панели). Могу привести пример реализации... |
|||
|
||||
| ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 5 Всего: 9 |
да я тоже про это думал но оказалась не то
вот я тут вспомнил про java beans там компонентныйй подход очень похож на тот что мне надо всвязи с этим вопрос как написать каркасное приложение а потом типа добавлять туда компоненты как плагины ? -------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
О5 таки самый простой способ:
1. В каталоге приложений заводишь папку логин. 2. Придумываешь обязательный файл (типа описания плагина.) в котором указываешь какой класс нужно запускать. 3. Перебором загружаешь в класспасс все классы, привязанные к плагину (если больше одного...) Если плагин должен будет ограничен одним классом, то этот пункт пропускается. 4. через рефлексию загружается класс из описания (приводится к интерфейсу плагина и тд и тп.) Так же можно сделать проше. брать какой то каталог (плагинс) и пытатся запустить все что там есть. Добавлено @ 13:49 Кстати... Явабины тоже по своей структуре - нитерфес-реализация и грузятся в общем то тоже через рефлексию (но на уровне явамашины) |
|||
|
||||
| ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 5 Всего: 9 |
DarkDS вот спасибо Вам за совет гдето так я и собираюсь сделать .
не могли бы Вы пояснит что значит приведение к интерфейсу ? -------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
| DarkDS |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Есть интерфейс (к примеру IPlugin) с набором методов, к которым будут обращатся.
к примеру:
далее загружаешь:
|
||||
|
|||||
| ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 5 Всего: 9 |
Спасибо большое все понятно !
-------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
| ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 5 Всего: 9 |
а можно подключать не class'ы а целые jar'ы ?
-------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Напрямую нет. Можно считывать jar файл и уже считанные классы подгружать...
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |