OberonCore https://forum.oberoncore.ru/ |
|
Средства организации модулей https://forum.oberoncore.ru/viewtopic.php?f=6&t=707 |
Страница 1 из 1 |
Автор: | batyrmastyr [ Суббота, 27 Октябрь, 2007 18:07 ] |
Заголовок сообщения: | Средства организации модулей |
GUEST писал(а): Руслан Богатырев писал(а): Я не разделяю точку зрения Евгения Зуева по данному вопросу. Очевидно размышления Евения Зуева лежали в области необходимости дополнительных средств организации модулей в связи с чем данное высказывание сомнительно. Может я чего не понял, но доп. средства организации модулей, по-моему, нужны. Например, разрешение на межмодульное наследование реализации _только для ограниченного_ числа модулей (если уж приходится терпеть наличие такого наследования). |
Автор: | AVC [ Суббота, 27 Октябрь, 2007 20:41 ] |
Заголовок сообщения: | Re: Re: |
batyrmastyr писал(а): Может я чего не понял, но доп. средства организации модулей, по-моему, нужны. Например, разрешение на межмодульное наследование реализации _только для ограниченного_ числа модулей (если уж приходится терпеть наличие такого наследования). Ограничение на наследование реализации уже существует в Компонентном Паскале: LIMITED (еще проще -- отказ от использования EXTENSIBLE). А вот ограничение возможности импорта конкретного модуля -- хорошая идея. Наверное, ее можно реализовать примерно так: ввести, наряду с секцией IMPORT, секцию EXPORT, где должны быть перечислены модули, имеющие право импорта данного модуля. (Если секция EXPORT отсутствует, то модуль импортируется как обычно, без ограничений.) Это в качестве "затравки", т.к. должны существовать лучшие решения. |
Автор: | Info21 [ Воскресенье, 28 Октябрь, 2007 05:47 ] |
Заголовок сообщения: | Организация межмодульных взаимодействий (гипотезы) |
AVC писал(а): Наверное, ее можно реализовать примерно так: ввести, наряду с секцией IMPORT, секцию EXPORT, где должны быть перечислены модули, имеющие право импорта данного модуля. (Если секция EXPORT отсутствует, то модуль импортируется как обычно, без ограничений.) Это в качестве "затравки", т.к. должны существовать лучшие решения. Почему "должны"? Чем это решение плохо? (Наклевывается отдельная тема... может, сразу и выделить?) |
Автор: | Илья Ермаков [ Воскресенье, 28 Октябрь, 2007 09:52 ] |
Заголовок сообщения: | Re: Средства организации модулей |
Выделил |
Автор: | Сергей Оборотов [ Воскресенье, 28 Октябрь, 2007 12:54 ] |
Заголовок сообщения: | Re: Организация межмодульных взаимодействий (гипотезы) |
info21 писал(а): Почему "должны"? Это разные вопросы и ответы могут быть разные. Более общие, в том числе. В частности возможно и группирование модулей в структуры по выполняемой функции. Что-то подобное упоминалось Русланом Богатыревым в характеристиках прогнозируемого языка архитектурного уровня.Чем это решение плохо? info21 писал(а): (Наклевывается отдельная тема... может, сразу и выделить?) Почему бы и нет. Но лучше если в её начале будет указываться какие цели она перед собой ставит. Имхо, тем кто такие предложения о переносе выдвигает.
|
Автор: | AVC [ Воскресенье, 28 Октябрь, 2007 13:06 ] |
Заголовок сообщения: | Re: Организация межмодульных взаимодействий (гипотезы) |
GUEST писал(а): Почему бы и нет. Но лучше если в её начале будет указываться какие цели она перед собой ставит. Имхо, тем кто такие предложения выдвигает. Например, может быть потребность в том, чтобы подсистема имела вспомогательные модули, доступные только в рамках этой подсистемы (кластера?). |
Автор: | batyrmastyr [ Воскресенье, 28 Октябрь, 2007 23:46 ] |
Заголовок сообщения: | Re: Организация межмодульных взаимодействий (гипотезы) |
AVC писал(а): GUEST писал(а): Почему бы и нет. Но лучше если в её начале будет указываться какие цели она перед собой ставит. Имхо, тем кто такие предложения выдвигает. Например, может быть потребность в том, чтобы подсистема имела вспомогательные модули, доступные только в рамках этой подсистемы (кластера?). Простейший пример - группа модулей наподобие Files-HostFiles чтобы HostFiles был доступен для импорта только модулю Files. И так ограничить группу Host-модулей, навроде Meta - <группа Host-Kernel модулей> причем интерфейсы модулей этой группы видят только Meta и они сами. |
Автор: | Илья Ермаков [ Понедельник, 29 Октябрь, 2007 00:02 ] |
Заголовок сообщения: | Re: Организация межмодульных взаимодействий (гипотезы) |
batyrmastyr писал(а): Простейший пример - группа модулей наподобие Files-HostFiles чтобы HostFiles был доступен для импорта только модулю Files Кстати, Files не импортирует HostFiles. Модуль интерфейса не имеет права импортировать модуль реализации. Наоборот, модуль реализации импортирует интерфейс и суёт туда свои разъёмы.... |
Автор: | Info21 [ Понедельник, 29 Октябрь, 2007 07:32 ] |
Заголовок сообщения: | Re: Средства организации модулей |
Предложение: Подсистемы образуют просто еще один уровень блочности (процедуры--модули--подсистемы). Раз это замечено , то че колесо изобретать -- нужен только механизм "локальных переменных" для этого уровня блочности, т.е. сущности, видимые всюду в подсистеме, но невидимые вовне. Концептуальная простота и единообразие опять же. Синтаксически, возникает проблемка, связанная принятым соглашением об именовании глобальных сущностей (модуль.сущность). А в остальном можно думать об оформлении. Конечно, хотелось бы (если возможно) не трогать сам язык. |
Автор: | Сергей Губанов [ Понедельник, 29 Октябрь, 2007 12:23 ] |
Заголовок сообщения: | Re: Средства организации модулей |
info21 писал(а): Подсистемы образуют просто еще один уровень блочности Снабдить модуль специальным атрибутом (например, INTERNAL) и сказать, что модуль помеченный этим атрибутом могут импортировать только модули из его подсистемы. INTERNAL MODULE XxxYyyy; (*...*) END XxxYyy. |
Автор: | batyrmastyr [ Понедельник, 29 Октябрь, 2007 12:56 ] |
Заголовок сообщения: | Re: Средства организации модулей |
Сергей Губанов писал(а): Снабдить модуль специальным атрибутом (например, INTERNAL) и сказать, что модуль помеченный этим атрибутом могут импортировать только модули из его подсистемы. INTERNAL MODULE XxxYyyy; (*...*) END XxxYyy. И наблюдаем то самое изменение языка которого очень не хотим. Причем это уже 3й вариант решения задачи в этой ветке (есть более ранняя) + вариант Руслана Богатырева + вариант языка Eiffel , очевидно, у каждого есть +/- и надо найти несколько неулучшаемых (т.е которым нельзя добавить + не добавив при этом - ) и потом уже серьезно думать какой лучше. |
Автор: | batyrmastyr [ Понедельник, 29 Октябрь, 2007 13:02 ] |
Заголовок сообщения: | Re: Организация межмодульных взаимодействий (гипотезы) |
Илья Ермаков писал(а): batyrmastyr писал(а): Простейший пример - группа модулей наподобие Files-HostFiles чтобы HostFiles был доступен для импорта только модулю Files Кстати, Files не импортирует HostFiles. Модуль интерфейса не имеет права импортировать модуль реализации. Наоборот, модуль реализации импортирует интерфейс и суёт туда свои разъёмы.... Моя ошибка, но по второму примеру вроде бы все поняли что я хотел сказать - явные группы модулей и возможность раскрытия доп. возможностей только ограниченному множеству подсистем и отдельных модулей |
Автор: | Сергей Губанов [ Понедельник, 29 Октябрь, 2007 13:36 ] |
Заголовок сообщения: | Re: Средства организации модулей |
batyrmastyr писал(а): И наблюдаем то самое изменение языка которого очень не хотим. Разьве можно на уровне языка ввести некое средство, но не изменить сам язык? На внеязыковом уровне INTERNAL модули давно есть - для таких модулей производитель не выдаёт символьных файлов, выдаёт только исполняемые. |
Автор: | Info21 [ Понедельник, 29 Октябрь, 2007 13:54 ] |
Заголовок сообщения: | Re: Средства организации модулей |
Сергей Губанов писал(а): На внеязыковом уровне INTERNAL модули давно есть - для таких модулей производитель не выдаёт символьных файлов, выдаёт только исполняемые. Ну, тогда, может, и нефиг дергаться... Есть ли реальная проблема-то? Когда будет, тогда и решение (само) появится. |
Автор: | Евгений Темиргалеев [ Понедельник, 29 Октябрь, 2007 14:55 ] |
Заголовок сообщения: | Re: Средства организации модулей |
info21 писал(а): Сергей Губанов писал(а): На внеязыковом уровне INTERNAL модули давно есть - для таких модулей производитель не выдаёт символьных файлов, выдаёт только исполняемые. Ну, тогда, может, и нефиг дергаться... Есть ли реальная проблема-то? Когда будет, тогда и решение (само) появится. Мне решение с INTERNAL нравится. |
Автор: | Axcel [ Понедельник, 29 Октябрь, 2007 16:08 ] |
Заголовок сообщения: | Re: Средства организации модулей |
Мне кажется эту проблему лучше решать на уровне IDE. Ну, например, делаем некоторое средство, которое формирует список экспортируемых сущностей, так, чтобы методом перетаскивания можно было вставить в программу (с автоматическим изменением списка импорта в модуле). Соответственно запрещенные к экспорту модули - недоступны. Добавляем пункт меню - "Согласовать экспорт/импорт", для поиска модулей у которых список импорта не согласован с "главным" списком. А после наработки практики применения можно будет говорить о "законодательных" мерах. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |