OberonCore
https://forum.oberoncore.ru/

Импорт подсистем
https://forum.oberoncore.ru/viewtopic.php?f=27&t=3183
Страница 1 из 2

Автор:  igor [ Четверг, 20 Январь, 2011 09:59 ]
Заголовок сообщения:  Импорт подсистем

На уровне языка, как известно, модули могут быть связаны друг с другом только отношениями экспорта/импорта (здесь и далее имеется ввиду язык КП!). Никакие подсистемы и прочее не подразумеваются.

Однако на уровне архитектуры модули могут быть сгруппированы в подсистемы. Часто одни подсистемы используют другие (см. слайд 26 в презентации по ссылке, указанной здесь: http://forum.oberoncore.ru/viewtopic.php?f=2&t=3176&p=58003#p58003).

Не знаю испытывал ли кто-то с этим неудобство. При импорте подсистемы часто приходится в списке импорта указывать её многочисленные модули. Хотелось бы иметь возможность импортировать подсистему как бы одним модулем. Но с другой стороны не хотелось бы вносить в язык весь этот "огород" с подсистемами.

Может для каждой большой и популярной подсистемы создавать что-то типа интерфейсного модуля? Тогда для импорта всей подсистемы достаточно будет импортировать только этот модуль. Но что-то эта идея мне не очень нравится.

Интересно, кто что думает по этому поводу. Или это только у меня с этим проблемы :) ?

Автор:  Валерий Лаптев [ Четверг, 20 Январь, 2011 10:02 ]
Заголовок сообщения:  Re: Импорт подсистем

А нельзя ли просто написать один простой модуль, где прописать импорт всех модулей подсистемы. И потом этот модуль в качестве фасада подсистемы и использовать. Ы?

Автор:  Евгений Темиргалеев [ Четверг, 20 Январь, 2011 10:42 ]
Заголовок сообщения:  Re: Импорт подсистем

igor писал(а):
При импорте подсистемы часто приходится в списке импорта указывать её многочисленные модули.?
Из своей практики не припоминаю, чтобы регулярно приходилось импортировать все (или большую часть) модулей подсистемы.

Автор:  igor [ Четверг, 20 Январь, 2011 11:05 ]
Заголовок сообщения:  Re: Импорт подсистем

Валерий Лаптев писал(а):
А нельзя ли просто написать один простой модуль, где прописать импорт всех модулей подсистемы. ... Ы?
Это я и имел ввиду под интерфейсным модулем. Только кроме импорта модулей, придётся прописывать реэкспорт всех сущностей. Технически это возможно, но не красиво как-то. В случае же интерфейсных модулей к внешним библиотекам - это необходимость.

Автор:  Александр Ильин [ Четверг, 20 Январь, 2011 11:10 ]
Заголовок сообщения:  Re: Импорт подсистем

Зачем вообще может быть нужно импортировать подсистему целиком?

Автор:  igor [ Четверг, 20 Январь, 2011 11:15 ]
Заголовок сообщения:  Re: Импорт подсистем

Евгений Темиргалеев писал(а):
Из своей практики не припоминаю, чтобы регулярно приходилось бы импортировать все (или большую часть) модулей подсистемы.
Да, я тоже (пока) не пишу программу управления какскадом ГЭС на Амазонке. :) Но другие, возможно, уже пишут.

Автор:  igor [ Четверг, 20 Январь, 2011 11:16 ]
Заголовок сообщения:  Re: Импорт подсистем

Александр Ильин писал(а):
Зачем вообще может быть нужно импортировать подсистему целиком?
Затем, что подсистема - это не случайный набор модулей.

Автор:  Евгений Темиргалеев [ Четверг, 20 Январь, 2011 11:19 ]
Заголовок сообщения:  Re: Импорт подсистем

igor писал(а):
Евгений Темиргалеев писал(а):
Из своей практики не припоминаю, чтобы регулярно приходилось бы импортировать все (или большую часть) модулей подсистемы.
Да, я тоже (пока) не пишу программу управления какскадом ГЭС на Амазонке.
Постановка вопроса о необходимости умозрительная?

Автор:  Евгений Темиргалеев [ Четверг, 20 Январь, 2011 11:20 ]
Заголовок сообщения:  Re: Импорт подсистем

igor писал(а):
Затем, что подсистема - это не случайный набор модулей.
Не обязательно.

Автор:  igor [ Четверг, 20 Январь, 2011 11:23 ]
Заголовок сообщения:  Re: Импорт подсистем

Возможно, решение в том, чтобы все сервисы, которые предоставляет подсистема были прописаны в одном модуле, который и рекомендуется для импортирования другими подсистемами. Типа "узкое горло".

Автор:  igor [ Четверг, 20 Январь, 2011 11:26 ]
Заголовок сообщения:  Re: Импорт подсистем

Евгений Темиргалеев писал(а):
Постановка вопроса о необходимости умозрительная?
Во-многом - да! То есть я не агитирую подрываться что-то реализовывать.

Автор:  igor [ Четверг, 20 Январь, 2011 11:27 ]
Заголовок сообщения:  Re: Импорт подсистем

Евгений Темиргалеев писал(а):
igor писал(а):
Затем, что подсистема - это не случайный набор модулей.
Не обязательно.
Тогда эта подсистема спроектирована неудачно.

Автор:  Владислав Жаринов [ Четверг, 20 Январь, 2011 12:09 ]
Заголовок сообщения:  Re: Импорт подсистем

igor писал(а):
Валерий Лаптев писал(а):
А нельзя ли просто написать один простой модуль, где прописать импорт всех модулей подсистемы. ... Ы?
Это я и имел ввиду под интерфейсным модулем. Только кроме импорта модулей, придётся прописывать реэкспорт всех сущностей. Технически это возможно, но не красиво как-то. В случае же интерфейсных модулей к внешним библиотекам - это необходимость.
Чего-то подобное есть у Свердлова (как необходимость обойтись без циклического импорта) - в начале приложения о реализации "компилятора О" на Обероне...

Автор:  Евгений Темиргалеев [ Четверг, 20 Январь, 2011 12:31 ]
Заголовок сообщения:  Re: Импорт подсистем

igor писал(а):
Евгений Темиргалеев писал(а):
igor писал(а):
Затем, что подсистема - это не случайный набор модулей.
Не обязательно.
Тогда эта подсистема спроектирована неудачно.
Не обязательно.
http://www.zinnamturm.eu/downloadsAC.htm#Cpc
http://www.zinnamturm.eu/downloadsTZ.htm#Util
ББ-е Obx, Std, по-моему, тоже подходят

Поясню свою позицию:
- по ББ-му определению, подсистема BlackBox — коллекция взаимосвязанных компонент.
- но на базе сложившейся практики делания подситем, я бы трактовал слово "взаимосвязанных" в самом широком смысле...

Автор:  Евгений Темиргалеев [ Четверг, 20 Январь, 2011 12:39 ]
Заголовок сообщения:  Re: Импорт подсистем

igor писал(а):
Евгений Темиргалеев писал(а):
Постановка вопроса о необходимости умозрительная?
Во-многом - да! То есть я не агитирую подрываться что-то реализовывать.
я за то, чтобы учитывать реальный опыт, и не ставить вопросов раньше реальной необходимости...

Считаю, что писавшие "программу управления какскадом ГЭС на Амазонке" скорее не использовали обсуждавшуюся гипотетическую тулзу, нежели не опубликовали её.

Более вероятно, что там применялись (по месту и по необходимости, но не глобально) конкретные конструктивные решения. Возможно, и такое: viewtopic.php?p=58116#p58116

Автор:  igor [ Четверг, 20 Январь, 2011 13:25 ]
Заголовок сообщения:  Re: Импорт подсистем

Драконограф писал(а):
Чего-то подобное есть у Свердлова ...
Спасибо, гляну вечерком.

Автор:  igor [ Четверг, 20 Январь, 2011 13:29 ]
Заголовок сообщения:  Re: Импорт подсистем

Евгений Темиргалеев писал(а):
я за то, чтобы учитывать реальный опыт, и не ставить вопросов раньше реальной необходимости...
"Бананозависимость"? :) Нет банана в поле зрения - нет мотивации что-то думать.

Ивините, если что. Я не силён в "банановедении". Пусть лучше Info21 прокомментирует.

Автор:  igor [ Четверг, 20 Январь, 2011 13:40 ]
Заголовок сообщения:  Re: Импорт подсистем

Евгений Темиргалеев писал(а):
igor писал(а):
Тогда эта подсистема спроектирована неудачно.
Не обязательно.
Возможно, Вы правы для некоторых видов подсистем. Например, для подсистем, которые поставляют множество независых или слабозависимых сервисов, объединённых одной темой.

Автор:  Евгений Темиргалеев [ Четверг, 20 Январь, 2011 14:18 ]
Заголовок сообщения:  Re: Импорт подсистем

igor писал(а):
Например, для подсистем, которые поставляют множество независых или слабозависимых сервисов, объединённых одной темой.
Да. Именно на этот момент я хотел обратить внимание: для (существующих) подсистем, компоненты в которых с технической т.з. (мало|не)зависмы, общий интерфейс не имеет смысла.

Автор:  igor [ Четверг, 20 Январь, 2011 14:29 ]
Заголовок сообщения:  Re: Импорт подсистем

Евгений Темиргалеев писал(а):
для (существующих) подсистем, компоненты в которых с технической т.з. (мало|не)зависмы, общий интерфейс не имеет смысла.
Согласен. Но есть и другие подсистемы.

Кстати, в контексте обсуждения Блэкбокс термины подсистема и программная компонента разве не синонимы?

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/