Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4      [все]
 Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Это вопрос архитектурный.
В отличие от других языков программирования, в Delphi есть понятие Модуль(unit). Поэтому, ожидается, что архитектура Delphi-программ - это не простая связь классов, и здесь Модули должны играть определенную роль. А какую?

Кто занимается архитектурой delphi-программ, пожалуйста, поделитесь опытом, м.б. статьи интересные подскажите?

Заранее спасибо.

P.S.
На мысль о “роли модулей” натолкнула сегодняшней тема ..., что в Delphi широко используются циклические ссылки в классах, а вот циклические ссылки между модулями уже запрещены.
7 авг 19, 11:44    [21943593]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1604
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Programs_and_Units_(Delphi)
7 авг 19, 12:05    [21943633]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1604
Artem.1st
что в Delphi широко используются циклические ссылки в классах


Это не означает что это правильно и надо за ними повторять.
Мое предположение, что это сделано в древние времена теми, кто не задумывался о грамотной архитектуре, а писали как проще и быстрее... Там даже есть обращения к приватным секциям в другие классы.... Это же не означает, что так тоже надо делать...
7 авг 19, 12:09    [21943642]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
X-Cite
кто не задумывался о грамотной архитектуре

Спасибо за ответ.
Как раз хотелось бы понять смысл этой “грамотной” архитектуры. М.б. есть стандарты?
Например, почему взаимные(циклические) связи между классами - это якобы плохо?
7 авг 19, 12:19    [21943665]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5341
Artem.1st
Это вопрос архитектурный.
В отличие от других языков программирования, в Delphi есть понятие Модуль(unit). Поэтому, ожидается, что архитектура Delphi-программ - это не простая связь классов, и здесь Модули должны играть определенную роль. А какую?

Кто занимается архитектурой delphi-программ, пожалуйста, поделитесь опытом, м.б. статьи интересные подскажите?

Заранее спасибо.

P.S.
На мысль о “роли модулей” натолкнула сегодняшней тема ..., что в Delphi широко используются циклические ссылки в классах, а вот циклические ссылки между модулями уже запрещены.
не запрещены
7 авг 19, 12:28    [21943685]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
kealon(Ruslan)
не запрещены

Спасибо за ответ.
Подразумевались взаимные ссылки из интерфейсных разделов модулей. Они запрещены в Delphi.
Отсюда предположение, что "модуль" играет роль(хотя бы ограничительную) в архитектуре программы.
Вот какова эта роль?
7 авг 19, 12:36    [21943696]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5341
Artem.1st
kealon(Ruslan)
не запрещены

Спасибо за ответ.
Подразумевались взаимные ссылки из интерфейсных разделов модулей. Они запрещены в Delphi.
Отсюда предположение, что "модуль" играет роль(хотя бы ограничительную) в архитектуре программы.
Вот какова эта роль?
отдельная единица трансляции для компилятора
7 авг 19, 12:38    [21943699]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
kealon(Ruslan)
отдельная единица трансляции для компилятора


>> "Какова роль "Модуля" в архитектуре программы?"
:)

Серьезно. Всегда спасибо за любой ответ по существу темы
7 авг 19, 12:50    [21943709]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
asutp2
Member

Откуда: Тюмень
Сообщений: 550
Artem.1st,

предлагаю для начала изучить основы языка. Без них двигаться дальше (в разарботке) вы не сможете
7 авг 19, 13:04    [21943732]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1604
Artem.1st
kealon(Ruslan)
отдельная единица трансляции для компилятора


>> "Какова роль "Модуля" в архитектуре программы?"
:)

Серьезно. Всегда спасибо за любой ответ по существу темы


Представьте проект в котором 1000 pas файлов и представьте проект в котором тот же код в 1 pas файле...
Вы меняете 3 строки кода. В первом случае это будет например в 3 модулях.. во втором случае выбора нет, все в одном.
Вопрос: В каком случае компиляция (не сборка) произойдет быстрее?
7 авг 19, 13:44    [21943772]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Polesov
Member

Откуда:
Сообщений: 607
kealon(Ruslan)
отдельная единица трансляции для компилятора

Позволяющая предоставлять (продавать) свой код без исходных текстов.
7 авг 19, 14:16    [21943805]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Artem.1st
Это вопрос архитектурный.
В отличие от других языков программирования, в Delphi есть понятие Модуль(unit). Поэтому, ожидается, что архитектура Delphi-программ - это не простая связь классов, и здесь Модули должны играть определенную роль. А какую?

Кто занимается архитектурой delphi-программ, пожалуйста, поделитесь опытом, м.б. статьи интересные подскажите?

Заранее спасибо.

Ответ найден:
По стандарту UML, delphi-модули как элементы программной архитектуры, описываются Диаграммой Компонентов.
Аналогично диаграмме классов, UML диаграмма компонентов описывает связи(зависимости) между компонентами(delphi-модулями). Это и есть роль архитектурной единицы, что и спрашивалось.

P.S.
То, что архитектуру Delphi-программ некоторые считают “тупой” темой, и сыпят оскорбления(с потолка) - это еще понятно.
А вот почему модераторы не пресекают этот бардак ...
8 авг 19, 17:16    [21944998]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30600

08.08.2019 17:16, Artem.1st пишет:
> Ответ найден:
> По стандарту UML, delphi-модули...

ответ неверный.
UML никакого отношения к языку Delphi и его структуре не имеет.

зы: забудь про Википедию, ты теперь в армии!

Posted via ActualForum NNTP Server 1.5

8 авг 19, 17:26    [21945007]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5341
Artem.1st,

тебе же уже сказали 21943699, остальное лишь детские фантазии
8 авг 19, 17:38    [21945016]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
kealon(Ruslan)
тебе же уже сказали 21943699, остальное лишь детские фантазии

а ...
тебе же уже ответили 21943709, может всеже не фантазии?
8 авг 19, 17:53    [21945025]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
kealon(Ruslan),
извиняюсь, за пред.мессагу. Не знаю, как удалить. Просто я расстроен всем этим троллингом, мне нужен форум(как источник полезной информации) ... а тут сранности творятся.
8 авг 19, 17:58    [21945028]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
ziv-2014
Member

Откуда:
Сообщений: 468
Две формы описанные в одном модуле не возможно нормально редактировать.
А еще в каждом модуле можно делать глобальную переменную sisky и инициализировать самым фиерическим значением, просто так, потому что могу!
9 авг 19, 11:30    [21945445]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
DimaBr
Member

Откуда:
Сообщений: 11330
ziv-2014
Две формы описанные в одном модуле не возможно нормально редактировать.

Использую множество "форм" на одной. Никаких проблем с редактированием. От самой формы редко что бывает нужно особенное.
9 авг 19, 11:40    [21945452]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3401
Artem.1st,

лучший источник знаний - книга + код. к людям ищущим начальные знания на форумах обычно относятся как к лентяям, не смогшим прочесть ничего. поэтому если задаёшь такие вопросы - будь готов к таким ответам.
12 авг 19, 11:36    [21946951]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
Artem.1st
На других сайтах оскорбления пресекаются. А чтоб регулярные оскорбления - такого вообще нет.
Так в чем причина оскорблений, мы узнаем?
Тебя сразу без наездов спросили и отправили в библиотеку,
А ты стал лениться и понтоваться. Стучать ещё задумал...
Отвечать на такую тему никто не будет - пальцы сотрёшь и клаву сломаешь...

Иди на другие сайты и не трогай дюдей.
12 авг 19, 13:06    [21947079]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1604
Artem.1st,

Фишка в том, что на твой вопрос ответов много и все они правильные и корректные.

Кто-то считает 1 модуль 1 класс
Кто-то считает 1 модуль 1 неймспейс
Кто-то считает 1 модуль 1 логическая бизнес-единица
Кто-то считает 1 модуль как душе угодно

Все они верные и правильные и грамотные. Выбираешь для себя как тебе (или команде, если вы работаете в IT) удобно и вперед...
12 авг 19, 13:37    [21947119]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
Artem.1st,

В один модуль попадают "дружественные" классы. То есть те, которым открыт доступ к приватным методам друга. Пример - TTabSheet и TPageControl. Если их хранить раздельно, надо будет открывать доступ к методам, к которым открывать доступ не хочется. А не открывать - усложнять реализацию.
13 авг 19, 23:05    [21948683]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Leonid
Member

Откуда: From nowhere
Сообщений: 742
Artem.1st
Это вопрос архитектурный.
В отличие от других языков программирования, в Delphi есть понятие Модуль(unit). Поэтому, ожидается, что архитектура Delphi-программ - это не простая связь классов, и здесь Модули должны играть определенную роль. А какую?
Да почти такую же как и в Си-шные исходниках.
Т.е. для логического объединения текстов исходников (и вовсе необязательно классов).
Но поскольку паскалевский компилятор в отличии от си-шных однопроходной, то это накладывает ряд ограничений и заставляет порой весьма серьезно планировать размещение исходников и тем более классов по модулям.
На практике зачастую приводит к накидыванию достаточно большого количества классов в один юнит, особенно когда эти классы взаимно-зависимы (см. хотя бы исходники самого RTL или VCL/FMX).

А чтобы так уж не париться с построением идеального дерева классов или не городить простыни юнитов на десятки тысяч строк,
по уму уже давно бы можно было сделать компилятор многопроходным, а ссылки на юниты (дабы не было сотен в списке) опционно заменить на нэимспейсы.
Но это слишком уж радикально и рЭволюционно.
Да и олдскульные бородатые паскалисты изойдут от того на "коричневую субстанцию". Ибо сие не кошерно.
14 авг 19, 01:37    [21948742]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Leonid, Victor Cookin ,
спасибо за ответ.

Получается, что delphi-модуль - это контейнер "дружественных" элементов программы(функций, типов, констант, классов,...)
Задача, которую я сейчас исследую - Как правильно распределять функционал по модулям. Предположительный критерий качества - это минимум связей между модулями, и в каждом модуле д.б. только дружественные программные элементы.
В этой теме сильно бы помог совет от системных архитекторов или Delphi-программистов, кто использует средства моделирования типа Rational Rose или подобное.

P.S.
все это я уже писал выше, но мои посты пропали, наверное показались “неудобными”. Вот пишу заново.
14 авг 19, 11:33    [21948951]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
DimaBr
Member

Откуда:
Сообщений: 11330
Artem.1st
Получается, что delphi-модуль - это контейнер "дружественных" элементов программы(функций, типов, констант, классов,...)


Лучшие "Друзья"
unit Classes;

type
TStrings = class(TPersistent);
TStream = class(TObject);
TFiler = class(TObject);
TThread = class;
TDataModule = class(TComponent)
TBasicAction = class(TComponent);
14 авг 19, 11:42    [21948969]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
DimaBr
Лучшие "Друзья"
unit Classes;

type
TStrings = class(TPersistent);
TStream = class(TObject);
TFiler = class(TObject);
TThread = class;
TDataModule = class(TComponent)
TBasicAction = class(TComponent);

Хороший пример. Спасибо.
Как раз это “плохие” друзья, но они в одном модуле.
А почему так?
14 авг 19, 12:20    [21949059]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Как раз это “плохие” друзья, но они в одном модуле.
А почему так?

Предположение-1: Classes - это модуль VCL библиотеки, которая уже завершена, т.е. не находится в разработке, ей “не грозят” архитектурные изменения, поэтому можно пренебрегать правилами дружественности ради компактности.
Предположение-2: Classes - это основа для VCL, как пространство имен std в C++. Его не требуется делить на меньшие части.
...
Какие еще предположения?
14 авг 19, 12:22    [21949064]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 59368
Блог
Victor Cookin
В один модуль попадают "дружественные" классы. То есть те, которым открыт доступ к приватным методам друга.

Это отрицательная фича, которую было бы очень здорово выпилить нафиг.
14 авг 19, 12:49    [21949121]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Artem.1st
Classes - это модуль VCL библиотеки, которая уже завершена

Уточнение, Classes - это Runtime библиотека (не VCL)... еще один довод к аналогии std для C++
14 авг 19, 12:53    [21949126]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48627

Модуль - средство инкапсуляции программных единиц. А уж являются ли эти единицы
процедурами, функциями, типами или чем другим - совершенно всё равно.

Posted via ActualForum NNTP Server 1.5

14 авг 19, 13:00    [21949138]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30600

14.08.2019 12:49, softwarer пишет:
> Это отрицательная фича, которую было бы очень здорово выпилить нафиг.

дык, ввели же наконец-то strict private.

лучше поздно чем вообще (С)

Posted via ActualForum NNTP Server 1.5

14 авг 19, 13:02    [21949144]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30600

14.08.2019 13:00, Dimitry Sibiryakov пишет:
> Модуль - средство инкапсуляции программных единиц. А уж являются ли эти единицы
> процедурами, функциями, типами или чем другим - совершенно всё равно.

узко мыслишь (С)
был у меня один студиоз, который задался целью покончить таки с гегелевской неопределённостью
и разработать универсальные критерии классификации материи по категориям "живой" и "неживой"...

зы: похоже, тут те же симптомы

Posted via ActualForum NNTP Server 1.5

14 авг 19, 13:05    [21949149]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
softwarer
Victor Cookin
те, которым открыт доступ к приватным методам друга.

Это отрицательная фича, которую было бы очень здорово выпилить нафиг.

Для ограничения доступа к приватным разделам, в Delphi-2005 появилось ключевое слово strict private.
Это подразумевается или что-то другое?
14 авг 19, 13:08    [21949151]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Dimitry Sibiryakov
Модуль - средство инкапсуляции программных единиц.

Если “дружественность” программных единиц - это основной критерий формирования delphi-модуля, то я хочу понять эту методику. Цель - уменьшить межмодульные связи, а второстепенная цель - инкапсулировать друзей. Это важно для большого проекта.
Такая методика должна существовать(этот велосипед д.б. изобретен), вот я ее ищу.
14 авг 19, 13:42    [21949210]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 59368
Блог
Мимопроходящий
дык, ввели же наконец-то strict private.

А толку? В своих исходниках и без него нет проблем, а чужих он не исправит.
14 авг 19, 13:49    [21949222]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 59368
Блог
Artem.1st
Это подразумевается или что-то другое?

Подразумевается, что дружественность как концепцию вообще надо бы выпилить из языка.
14 авг 19, 13:51    [21949225]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48627

Artem.1st
Такая методика должна существовать(этот велосипед д.б. изобретен), вот я ее ищу.

Нет такой методики. Модуль - средство инкапсуляции программных единиц. Количество
инкапсулированных программных единиц решается в каждом случае индивидуально в зависимости
от конкретных условий проекта.

Ты можешь в одну сумку свалить половину универмага или разложить разные группы товаров по
разным сумкам. Это твоё личное решение как архитектора.

Posted via ActualForum NNTP Server 1.5

14 авг 19, 13:57    [21949233]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1604
Если говорить о дружественности, то иногда нужны методы или свойства, которые будут видны только в рамках этой дружественности.
Например некоторые классы из фреймоврка логирования должны уметь обращаться к свойствам других классов этого же фреймворка, но эти же свойства не должны быть доступны конечному разработчику.

Важно понимать, что поля класса всегда должны быть приватные. Это кухня класса, только он должен владеть реализацией собственного состояния. Любое обращение извне может быть только через свойства. К сожалению в Delphi исторически сложилось, что в рамках одного модуля разрешается обращаться к приватным полям. Это нарушает логическую целостность.
Представьте ситуацию, когда 200 разработчиков разрабатывают 200 классов и потом их поддерживают на одном проекте. В каком-то классе поменяли внутреннюю реализацию, но наружу как были выставлены свойства (контракт класса), так и остались. Однако некий недобросовестный разработчик вместо обращения к свойствам, полез в приват к чужому классу. Все, приплыли, развалилось...

А вся эта разрешенность появилась из-за недостатка абстракций...

Отсутствие полноценных пространств имен. Отсутствие модификатора internal, который скажет что свойство, метод, класс, интерфейс будут видимы только в рамках пространства имен.

Из-за этого и появляются портяники модулей, которые тяжело поддерживать при постоянном обновлении большой командой разработчиков. Попробуйте выполнять мердж изменений и решать конфликты каждые N часов в команде из 20 человек работающим над одним проектом и одной областью.

Также проблемой является это прописать модули в uses.
Если взять System.Classes и разбить его на N логических единиц... То чтобы использовать различные возможности, в uses придется прописать еще с десяток модулей вместо одного.
В отличие от того же пространства имен которое может быть одно хоть на 100 модулей.

Поэтому наверное и считается использование дельфи чем-то устаревшим, потому что мир меняется, подходы меняются, а возможности языка нет.
В командной разработке он не удобен в отличие от других.
14 авг 19, 14:00    [21949236]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48627

X-Cite
Например некоторые классы из фреймоврка логирования должны уметь обращаться к свойствам
других классов этого же фреймворка, но эти же свойства не должны быть доступны конечному
разработчику.

Отличный пример облажавшегося архитектора.

Posted via ActualForum NNTP Server 1.5

14 авг 19, 14:03    [21949246]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
softwarer
Подразумевается, что дружественность как концепцию вообще надо бы выпилить из языка.

Хороший архитектурный момент.
На примере классов Контейнер(Collection) и Элемент(Item), как эти классы реализовать без дружественности?
14 авг 19, 14:07    [21949253]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48627

Artem.1st
как эти классы реализовать без дружественности?

Легко: Item не должен ничего знать о контейнере в котором он лежит. Это и называется
инкапсуляцией.

Posted via ActualForum NNTP Server 1.5

14 авг 19, 14:11    [21949266]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 3891
X-Cite
Также проблемой является это прописать модули в uses.
Если взять System.Classes и разбить его на N логических единиц... То чтобы использовать различные возможности, в uses придется прописать еще с десяток модулей вместо одного.


Classes мог бы просто экспортировать псевдонимы типов на типы других N модулей.
14 авг 19, 14:19    [21949283]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 59368
Блог
Artem.1st
На примере классов Контейнер(Collection) и Элемент(Item), как эти классы реализовать без дружественности?

Грамотно и профессионально.

Да, это хороший пример. В своё время я захотел добавить к компоненту TStatusBar различную полезную функциональность - например, вывод прогрессбара, размещение в панелях кнопок, комбобоксов и прочих контролов, возможность пользователю в ран-тайме ресайзить панели мышкой и так далее. И для того, чтобы это сделать, мне в конце концов пришлось просто взять из VCL весь код TStatusBar и связанных классов, откопировать себе в модуль и сделать независимый компонент - потому что из-за грёбанной дружественности между TStatusPanels (контейнер) и TStatusPanel (элемент) сделать нужную функциональность наследованием оказалось просто-напросто невозможно.
14 авг 19, 14:20    [21949284]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Dimitry Sibiryakov
Нет такой методики.

Из-за масштабности проекта другого выхода нет. Я вынужден искать “методику”.
Вам спасибо за ответ.
14 авг 19, 14:22    [21949289]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30600

14.08.2019 14:22, Artem.1st пишет:
> Из-за масштабности проекта...

я ж говорил, BolgenOS...

Posted via ActualForum NNTP Server 1.5

14 авг 19, 14:24    [21949293]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48627

Artem.1st
Из-за масштабности проекта другого выхода нет. Я вынужден искать “методику”.

Зря тратишь время. Любую масштабную задачу (проект) можно и нужно дробить на всё более
мелкие подзадачи пока их сложность не сравняется с квалификацией исполнителя. Это работа
для тимлида и архитектора.

Posted via ActualForum NNTP Server 1.5

14 авг 19, 14:29    [21949304]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Dimitry Sibiryakov
Легко: Item не должен ничего знать о контейнере в котором он лежит. Это и называется
инкапсуляцией.

Спасибо за ответ. Как раз “свежая” тема, мои исследования уткнулись в то, что во многих прикладных задачах Элемент должен знать о Контейнере. Например, в реляционных структурах зависимые сущности ссылаются по ключу на главную сущность.

А вот это реальный код из Classes.pas
  TCollectionItem = class(TPersistent)
  private
    FCollection: TCollection;
...
  end;

Так как обойтись без дружественности? Есть еще способ?
14 авг 19, 14:39    [21949320]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Leonid
Member

Откуда: From nowhere
Сообщений: 742
X-Cite
В отличие от того же пространства имен которое может быть одно хоть на 100 модулей.
Вот и я о том же.

X-Cite
...мир меняется, подходы меняются, а возможности языка нет.
Ну Дельфи тоже меняется, но не так быстро как хотелось бы.
К 2019-му наконец-то добавили возможность объявление переменных по месту с авто-выведением типа. Аллилуйя!!
Глядишь к 2025-му добавят и двухпроходный компилятор с нэймспейсами.
А к 2030-му полноценные лямбды появятся и еще чего.

Сообщение было отредактировано: 14 авг 19, 15:33
14 авг 19, 14:42    [21949326]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
X-Cite,
спасибо за ответ. Есть интересные моменты, чтоб подумать.
Параллельно я смотрю на методики пространства имен C++. Также у Си-шников намечается появление “Модуля” в стандарте C++20, по крайней мере они ведут такие обсуждения.
14 авг 19, 15:00    [21949335]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Dimitry Sibiryakov
Любую масштабную задачу (проект) можно и нужно дробить на всё более
мелкие подзадачи

Я неправильно выразился. Задача даже не масштабная, а неограниченная размерами. Ее бесполезно дробить, это будет рутиной. В основе д.б. методика контроля программного функционала(разбитие на модули, учет связей, и т.п...). Она существует, найти ее - дело времени. Я параллельно изобретаю свой велосипед, просто, чтоб лучше чувствовать цель.
14 авг 19, 15:17    [21949352]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60307
Artem.1st> Я неправильно выразился. Задача даже не
Artem.1st> масштабная, а неограниченная размерами.
Artem.1st> Ее бесполезно дробить, это будет рутиной.

Возьмётесь за гуж неограниченных размеров - не сдюжите.
Так что таки беритесь за гужики поменьше (в т.ч. дробите
большие на меньшие). А иначе впустую потратите время на
разработку "методик контроля программного функционала".

Posted via ActualForum NNTP Server 1.5

14 авг 19, 15:32    [21949363]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48627

Artem.1st
мои исследования уткнулись в то, что во многих прикладных задачах Элемент должен знать о
Контейнере. Например, в реляционных структурах зависимые сущности ссылаются по ключу на
главную сущность.

Реляционные структуры хранения не имеют ничего общего с контейнерами: главная сущность не
является контейнером и не следит за зависимыми от неё сущностями.

Artem.1st
А вот это реальный код из Classes.pas

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

Posted via ActualForum NNTP Server 1.5

14 авг 19, 15:38    [21949367]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1987
Dimitry Sibiryakov
Artem.1st
как эти классы реализовать без дружественности?

Легко: Item не должен ничего знать о контейнере в котором он лежит. Это и называется
инкапсуляцией.

В целом верно.

Только TCollection - это изобретение Делфи 3-4 из 1995-1997 года.
Сейчас используется TList<TMyItem>
Где TMyItem не знает ни чего, членом какой коллекции он является - TList или TDictonary.

Циркулярные(рекурсивные) ссылки всё же иногда используются, но это - исключение, а не правило.
Но для делфи программистов любое исключение становиться правилом.

Задача о яблоках, которой обычно объясняют НЕ освобождения интерфейсов, где они ссылаются друг на друга:
На корзине написан список яблок, которые в ней лежат.
А на каждом яблоке написано - в какой корзине они лежат.
14 авг 19, 15:55    [21949385]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Valery_B
Member

Откуда: Москва
Сообщений: 1987
Artem.1st,

В целом попробуй открыть класс или модуль на 100 строк, и на 10,000 строк.
Где тебе будет легче, так и делай.

В классах более чем из 300 строк уже сложно разбираться, что они там делают и где ошибка.
14 авг 19, 16:00    [21949390]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Dimitry Sibiryakov
Item не должен ничего знать о контейнере в котором он лежит.

Пример бытовой задачи: Ученики(элементы) учатся в Школе(контейнер).
С архитектурной точки зрения, неужели ученик Вася Иванов не должен знать, в какой Школе он учится?
И чтоб узнать, где учится Вася, надо у кого спросить: у Школы или у Васи?

Как тут устанавливаются архитектурные зависимости?
14 авг 19, 18:10    [21949532]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
Вырожденный пример.
Допустим, Вася учится в 3х школах. Общеобразовательной, спортивной и музыхальной.
Т.е. 1 хмырь в трёх бочках. Кого спрашивать?
14 авг 19, 18:22    [21949543]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Кого спрашивать?

Это и есть вопрос архитектуры.
Чтоб узнать, где учится Вася, надо у кого спросить: у Школы(чтоб она запустила поиск) или у Васи(чтоб он ответил сразу)?
14 авг 19, 18:28    [21949548]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48627

Artem.1st
С архитектурной точки зрения, неужели ученик Вася Иванов не должен знать, в какой Школе он
учится?

Да, не должен. Ибо школы могут быть разные. Вася не имеет права влиять на школу. Вася не
должен быть доступен никаким другим путём кроме как через школу.

Нарушение двух последних правил ведёт к геморрою при отладке внезапно и непредсказуемо
вылезающих глюков, а оно никому не надо.

Artem.1st
чтоб узнать, где учится Вася, надо у кого спросить: у Школы или у Васи?

Это совершенно бессмысленное с архитектурной точки зрения действо. Если ты получил ссылку
на Васю как ученика школы, ты уже знаешь где он учится. Если же Васю можно получить другим
путём, то зависимость надо выворачивать наизнанку и школа внезапно перестаёт быть контейнером.

И таки да, существует возможность архитектуры с кольцевыми связями, только они уже не
относятся к классу "контейнер", а, скорее, "наблюдатель". Там школа держит ссылку на Васю
и подписана на его события, а у Васи есть список наблюдателей, подписанных на его события.
При этом Васе всё равно какого класса эти наблюдатели, он их тупо оповещает о своей
смерти, например.

Posted via ActualForum NNTP Server 1.5

14 авг 19, 18:29    [21949550]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
Dimitry Sibiryakov
Если ты получил ссылку на Васю как ученика школы, ты уже знаешь где он учится.

Спасибо за ответ.
14 авг 19, 18:34    [21949556]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48627

Dimitry Sibiryakov
они уже не относятся к классу "контейнер", а, скорее, "наблюдатель".

В VCL это реализовано как Notification/FreeNotification, но из-за отсутствия
множественного наследования смотрится неэлегантно.

Posted via ActualForum NNTP Server 1.5

14 авг 19, 18:36    [21949558]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5341
Dimitry Sibiryakov,

а в Qt равноценное смотрится элегантно?
14 авг 19, 19:09    [21949571]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60307
Artem.1st> Как тут устанавливаются архитектурные зависимости?

В "школе" есть список "классов" (и еще куча других списков), в каждом
из оных - список "учеников". В чем собсно вопрос/проблема/сложность?

Artem.1st> Чтоб узнать, где учится Вася, надо у кого спросить:
Artem.1st> у Школы(чтоб она запустила поиск) или у Васи(чтоб он ответил сразу)?

Можно оба варианта, конечно, но второй лучше.
Если Вы про ссылки - тут вопрос лишь в том, нужна
ли Васе "ссылка" на "школу" или достаточно ссылки
на "класс" (откуда уже можно получить "школу").

Posted via ActualForum NNTP Server 1.5

14 авг 19, 19:14    [21949574]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60307
DS> Вася не должен быть доступен никаким другим путём кроме как через школу.

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

> Если же Васю можно получить другим
> путём, то зависимость надо выворачивать
> наизнанку и школа внезапно перестаёт быть контейнером.

C таким подходом нужно уточнять термины до начала разговора.
В приведенном примере (абстрактно, речь не про конкретное ПО)
школа в принципе не может быть контейнером, потому что у неё
нет "собственнических" связей с учениками.

Posted via ActualForum NNTP Server 1.5

14 авг 19, 19:20    [21949578]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 59368
Блог
Artem.1st
Пример бытовой задачи: Ученики(элементы) учатся в Школе(контейнер).

Возможно, найдётся задача, для которой это подходящий дизайн, но в общем случае это скорее пример того, как не нужно делать. Контрольный вопрос: что случается с учениками, когда школу закрывают? Они умирают или просто повисают в воздухе?
14 авг 19, 19:24    [21949581]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60307
softwarer> Они умирают или просто повисают в воздухе?

В этом примере - их стирают ластиком.


P.S. А сама "задача неограниченных размеров" была
где-то озвучена? Это очередной АСУД или что?

Posted via ActualForum NNTP Server 1.5

14 авг 19, 19:28    [21949584]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48627

Гаджимурадов Рустам
C таким подходом нужно уточнять термины до начала разговора.
Так они и были уточнены задолго до того как ты влез. Аффтар явно заявил "школа это
контейнер учеников".

Posted via ActualForum NNTP Server 1.5

14 авг 19, 20:46    [21949624]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Василий 2
Member

Откуда:
Сообщений: 801
У меня частенько присутствуют мемберы класса, которые не должны быть видны юзеру, но нужные для доступа из классов того же модуля. Наворачивать какие-то искусственные паттерны или делать открытым то, что не нужно, считаю излишним
15 авг 19, 10:30    [21949847]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60307
DS> Аффтар явно заявил "школа это контейнер учеников".

Термин - это не что такое школа, а что такое контейнер.
Ну или пользовать чужие готовые - GoF-ские или чьи-то
еще (у GoF паттерна "контейнер" вообще нет, например).

Posted via ActualForum NNTP Server 1.5

15 авг 19, 14:48    [21950152]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60307
Даже если принять за терминологию, что контейнер - это коллекция/список,
то в отрыве от конкретного примера/задачи обсуждать это смысла нет, ибо
школа может как быть этим контейнером для учеников, так и не быть - например,
у них будет свой "контейнер" (коллекция), ссылки на который будут из "школы".

Posted via ActualForum NNTP Server 1.5

15 авг 19, 14:55    [21950160]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Artem.1st
Member

Откуда:
Сообщений: 109
softwarer
Artem.1st
Пример бытовой задачи: Ученики(элементы) учатся в Школе(контейнер).

Контрольный вопрос: что случается с учениками, когда школу закрывают? Они умирают или просто повисают в воздухе?

Как и в реальной жизни, связь между Школой и Учениками - это Агрегация(не Композиция). Т.е. ученики могут переходить в другую Школу.
Чтоб тема не уходила в сторону, напомню вопрос: Должен ли Элемент знать о Контейнере?
А до этого был вопрос: Можно ли обойтись без дружественных классов?
15 авг 19, 22:00    [21950535]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 59368
Блог
Artem.1st
Чтоб тема не уходила в сторону, напомню вопрос: Должен ли Элемент знать о Контейнере?

Может, но не должен. Пример: я делаю окно вида "слева список справочников системы, справа открываются данные выбранного справочника". Данные справочника сделаны фреймами. В этом случае я могу положить фреймы на TabControl - и элементы будут знать о контейнере. А могу положить их в Dictionary<String, TDicFrame> - и тогда они не будут знать о контейнере и нафиг не нужно, чтобы знали.

Artem.1st
А до этого был вопрос: Можно ли обойтись без дружественных классов?

Конечно. Хотя бы потому, что можно обойтись вообще без классов.

Дружественные классы - это просто удобный способ сажать ошибки проектирования и делать низкокачественный продукт под гордым лозунгом "Я самый умный, а пользователь не должен".
15 авг 19, 22:11    [21950545]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
roschinspb
Member

Откуда: С-Пб
Сообщений: 1632
Мимопроходящий
14.08.2019 12:49, softwarer пишет:
> Это отрицательная фича, которую было бы очень здорово выпилить нафиг.

дык, ввели же наконец-то strict private.

лучше поздно чем вообще (С)
От ведь же ж... А я то думал нахрена надо было индексацию строк переделывать, кому это мешало, кому не лень мегатонны говнокода перелопачивать. Есть оказываются счастливые люди у которых других проблем нет. Завидую просто!
16 авг 19, 16:33    [21951212]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
softwarer
Контрольный вопрос: что случается с учениками, когда школу закрывают? Они умирают или просто повисают в воздухе?

Школа вызывает у учеников метод "Школа ваша закрылась". По этому методу школы у ученика обнуляется. Я не представляю как можно решить такую задачу если не соблюдены оба два условия - школа знает про учеников, ученики знают про школу.
16 авг 19, 19:10    [21951387]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1604
Victor Cookin
softwarer
Контрольный вопрос: что случается с учениками, когда школу закрывают? Они умирают или просто повисают в воздухе?

Школа вызывает у учеников метод "Школа ваша закрылась". По этому методу школы у ученика обнуляется. Я не представляю как можно решить такую задачу если не соблюдены оба два условия - школа знает про учеников, ученики знают про школу.

Школы не должна вызывать у учеников ничего. Школа генерирует событие, что она закрывается. На события школы подписаны ученики, сотрудники и т.д. Получая событие что она закрывается, ученики/сотрудники что-то делают...

Никаких циклических ссылок не нужно..
16 авг 19, 20:16    [21951413]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 59368
Блог
Victor Cookin
Школа вызывает у учеников метод "Школа ваша закрылась". По этому методу школы у ученика обнуляется. Я не представляю как можно решить такую задачу если не соблюдены оба два условия - школа знает про учеников, ученики знают про школу.

Плохо, что не представляете. Ну просто для примера: РОНО дёргает оповещение "школа 123 закрылась". Подписчики реагируют на оповещение каждый как считают нужным: ученики дёргают оповещение "ищу новую школу", учителя увольняются, газета пишет заметку...
16 авг 19, 20:36    [21951418]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60307
X-Cite> Школа генерирует событие, что она закрывается.
X-Cite> На события школы подписаны ученики, сотрудники и т.д.
X-Cite> Никаких циклических ссылок не нужно..

А где тут отсутствие циклических ссылок?
Или Вы про то, что событие - третий класс,
суть посредник?

Posted via ActualForum NNTP Server 1.5

16 авг 19, 21:03    [21951431]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1604
Гаджимурадов Рустам
X-Cite> Школа генерирует событие, что она закрывается.
X-Cite> На события школы подписаны ученики, сотрудники и т.д.
X-Cite> Никаких циклических ссылок не нужно..

А где тут отсутствие циклических ссылок?
Или Вы про то, что событие - третий класс,
суть посредник?

Можно и через посредника, можно через наблюдателя... В последнем обоюдная зависимость косвенная..
А можно и через посредника реализованного с помощью наблюдателя....
16 авг 19, 21:21    [21951438]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
roschinspb, Привет! Давно не встречались тута.
17 авг 19, 01:09    [21951577]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
Victor Cookin
Школа вызывает у учеников метод "Школа ваша закрылась". По этому методу школы у ученика обнуляется. Я не представляю как можно решить такую задачу если не соблюдены оба два условия - школа знает про учеников, ученики знают про школу.
А потому что такая дурацкая модель
Ты представь другую реальность.

+

Аттрибуты - всё, что описывает сущность простыми типами (число/строка)

Есть собака. У собаки аттрибуты... казалось бы всё просто. Есть родуха (и не бумажка, а бегает)

И есть владелец. У него свои аттрибуты

Владельца может не быть, а может быть несколько (совладение)
Владельцем может быть не человек, а например, контора. Владелец может иметь много собак.

Есть федерация, и есть всякие клубы. И есть другие федерации и другие клубы. И есть клубы вне федераций а ля левые. Но есть и зарубежные...

Эксперты...

И есть мероприятия разного формата, ценза, состава...
....

Собака может померетьпо, потеряться... А владелец не сказать клубу/федерации, а может просто владелец уехал в другую страну...

Всю эту байду в собаке хранить? ОК, тогда придётся всех оповещать. А вдруг там война с разрухой на 20 лет? Собаки столько не живут.
А может связи владельца отрезать? и всё прочее.
17 авг 19, 01:42    [21951580]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
X-Cite
Получая событие что она закрывается, ученики/сотрудники что-то делают...

softwarer
Подписчики реагируют на оповещение

Вот только ни Дельфи, ни вообще ОО тут ни с какого боку
20 авг 19, 18:41    [21953734]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30600

20.08.2019 18:41, Victor Cookin пишет:
> Вот только ни Дельфи, ни вообще ОО тут ни с какого боку

а модуль?

Posted via ActualForum NNTP Server 1.5

20 авг 19, 18:47    [21953735]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
ёёёёё
Member

Откуда:
Сообщений: 1371
Мимопроходящий
20.08.2019 18:41, Victor Cookin пишет:
> Вот только ни Дельфи, ни вообще ОО тут ни с какого боку

а модуль?

С того же боку.
Тема - для потрындеть.
20 авг 19, 21:27    [21953817]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 59368
Блог
Victor Cookin
Вот только ни Дельфи, ни вообще ОО тут ни с какого боку

"Настоящий программист способен написать Фортран-программу на любом языке программирования" (тм)
20 авг 19, 21:39    [21953822]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
softwarer
Victor Cookin
Вот только ни Дельфи, ни вообще ОО тут ни с какого боку

"Настоящий программист способен написать Фортран-программу на любом языке программирования" (тм)
К нам в командировку приезжал Ерназар из Алма-Аты, он писал транслятор с PL/1 на Фортран IV/
Писал на фортране.
20 авг 19, 21:51    [21953830]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
ёёёёё
Member

Откуда:
Сообщений: 1371
Gator
softwarer
пропущено...

"Настоящий программист способен написать Фортран-программу на любом языке программирования" (тм)
К нам в командировку приезжал Ерназар из Алма-Аты, он писал транслятор с PL/1 на Фортран IV/
Писал на фортране.

Нормально, в то время все всяческие адаптеры делали, кто во что горазд. То трансляторы с одного ЯП на другой, то "сопряжение шины IBM360" с UNIBUS, то ИРПС в ИРПР, то телеграфную линию в RS-232. Имитация полезной деятельности. И вроде все при деле, а в ретроспективе понятно, что бессмыслица.
20 авг 19, 22:48    [21953868]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
ёёёёё,

Мы нормально совмещали стандартный интерфейс ЕС с юнибасом СМ1402 и PDP-11.
Через СМовский ящик на них Х.25 по всему СССР раскидали. Кстати, играли в бильядр на терминале в Душанбе
с ЕСкой в Москве. А файло летало по всей сети.
_______
Такие вот модули :)
21 авг 19, 08:20    [21953948]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
ёёёёё
Member

Откуда:
Сообщений: 1371
Gator,

интересны решения прикладных задач, а не "файло по сети" или стык древней ЭВМ с еще более древней.
21 авг 19, 09:47    [21954005]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
ёёёёё,


Ну... метод доступа, billiard это прикладные задачи? А рисование на своём плоттере удалённой картинки.
Или связь ЕС с БЭСМ-6 через телепроцессор?
21 авг 19, 10:12    [21954027]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
ёёёёё
Member

Откуда:
Сообщений: 1371
Gator
ёёёёё,


Ну... метод доступа, billiard это прикладные задачи? А рисование на своём плоттере удалённой картинки.
Или связь ЕС с БЭСМ-6 через телепроцессор?

Нет, конечно. Прикладные задачи - это расчет зарплаты, учет кадров, подготовка сметной и конструкторской документации, контроль за движением поездов/самолетов, распределенная система продажи билетов, навигация...
21 авг 19, 10:42    [21954077]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30600

21.08.2019 10:42, ёёёёё пишет:
> Нет, конечно. Прикладные задачи - это расчет зарплаты, учет кадров, подготовка сметной и конструкторской документации,
> контроль за движением поездов/самолетов, распределенная система продажи билетов, навигация...

не, ты не системщик!

Posted via ActualForum NNTP Server 1.5

21 авг 19, 11:06    [21954123]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5341
Мимопроходящий,

однако лучше, чем "Windows поставить"
21 авг 19, 12:20    [21954228]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
ёёёёё
Member

Откуда:
Сообщений: 1371
Мимопроходящий
21.08.2019 10:42, ёёёёё пишет:
> Нет, конечно. Прикладные задачи - это расчет зарплаты, учет кадров, подготовка сметной и конструкторской документации,
> контроль за движением поездов/самолетов, распределенная система продажи билетов, навигация...

не, ты не системщик!

Ну, да.
У нас в ВУЗе одна из кафедр умудрилась закупить из линейки ЕС ЭВМ дисплейный комплекс: несколько дисплеев плюс оборудование связи. Без самой ЭВМ. Несколько дипломников (кафедры "радиосвязь"!) занимались написанием дипломов по теме создания стыка с "большой" ВУЗовской ЭВМ (ЕС-1045). Используя подручные средства, естественно - о возможности закупить стандартное оборудование речи не было, ибо СССР. - Для чего? - Для того, чтобы связь была, байты туда-сюда. А прикладное применение - не дворянское это дело.
21 авг 19, 12:54    [21954298]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30600

21.08.2019 12:54, ёёёёё пишет:
> А прикладное применение - не дворянское это дело.

по прикладному у нас тут Андрей Игоревич.

чот давно его не было... (С)

Posted via ActualForum NNTP Server 1.5

21 авг 19, 12:56    [21954306]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
ёёёёё
дисплейный комплекс: несколько дисплеев плюс оборудование связи. Без самой ЭВМ.
ЕМНИП он в двух вариантах был: для локального/удалённого подключения. Там индексы разные были. Но это фигня. Берёзки умудрялись 7920 (3280) через карточный ридер подключать.
При этом засвечивать не только строки 24х80, но и весь экран полностью. Т.е вполне осцилографом работать
и мультики черно/зеленые показывать.
21 авг 19, 14:12    [21954424]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
roschinspb
Member

Откуда: С-Пб
Сообщений: 1632
Gator
roschinspb, Привет! Давно не встречались тута.
Привет. Да уж не до срачей в комментах. Пришло время, когда чистота подгузников начинает волновать больше чем чистота кода
26 авг 19, 17:39    [21957798]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 5341
roschinspb,

26 авг 19, 18:52    [21957857]     Ответить | Цитировать Сообщить модератору
 Re: Какова роль "Модуля" в архитектуре программы?  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
OFF
roschinspb
Gator
roschinspb, Привет! Давно не встречались тута.
Привет. Да уж не до срачей в комментах. Пришло время, когда чистота подгузников начинает волновать больше чем чистота кода Картинка с другого сайта.
Ну... памперсы ненадолго, и судя по весёлому смайлу, эти хлопоты порадуют потом. Поздравляю. Быват ведь и грустные хлопоты.
26 авг 19, 18:57    [21957860]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4      [все]
Все форумы / Delphi Ответить