|
Модули
|
|||
---|---|---|---|
#18+
Здравствуйте. Тема слегка не корректна. Имеется приложение. Условно его можно разбить на 6 модулей . Все они взаимосвязаны. В структуре базы в том числе. Появилась необходимость один из модулей выделить в отдельное приложение . Но есть проблемка . Это самый модуль на уровне базы взаимосвязан с тремя другими. Таблицы его завязаны на таблицы других модулей . В чем вопрос собственно. Самый простой способ это сделать пару вьюх, который автоматом будут заполнять взаимосвязаные таблицы других модулей. Но в данном случае потянется вся структура базы. И получится что большая программа использует ту же общую структуру базы что и маленькая. Разница между большой прогой и маленькой только в самом приложении. С одной стороны удобно будь делать апгрейд до полной программы) А с другой... Кто как практикует? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2014, 01:08 |
|
Модули
|
|||
---|---|---|---|
#18+
Лично я "практикую творчески". Есть среднеразмерная БД (2-3Гб). К ней подцеплены разные по функциям приложения. Два из них просто имеют общий центральный DataModule. Но во втором есть DataModule поменьше, только по специфике приложения. И этот "маленький" используется еще в третьем приложении. Остальные сами по себе, т.к. не сильно пересекаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2014, 08:12 |
|
Модули
|
|||
---|---|---|---|
#18+
AndrewVLКто как практикует? Берете и проектируете БД для НОВОГО приложения. Не задумываясь о СТАРОМ приложении. В новом приложении изначально закладываете все нужные "хотелки". Потом разрабатываете план/процедуру миграции с одного приложения на другое. Ну это в идеале. А так долго и нудно пытаться "впихнуть не впихуемое". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 07:27 |
|
Модули
|
|||
---|---|---|---|
#18+
AndrewVLПоявилась необходимость один из модулей выделить в отдельное приложение . Эта фраза нуждается в уточнении. Её можно понимать и как "необходимо спрятать лишние пункты в главном меню" и как "необходимо создать новое приложение с похожим функционалом, которое дальше будет независимо развиваться" и уймой других способов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2014, 18:12 |
|
Модули
|
|||
---|---|---|---|
#18+
softwarer, Если грубо. Инфа в большом приложении вносится через 6 вьюх шести условных модулей. Каждый модуль последовательно завязан на предидущий. Если уж совсем грубо - договор- счет- счет фактура - накладная- платежка. Вот и понадобилось бить в приложение только платежки . Сделал вьюху, которая на основании вставляемой в нее инфы делает все взаимосвязанные документы. И пользователю дают работать только с этой вьюхой на уровне интерфейса. Вот и хочется иметь возможность если вдруг пользователь захочет иметь полноценную прогу- дать ему новый экзешник и все. А база по структуре останется та же. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 08:29 |
|
Модули
|
|||
---|---|---|---|
#18+
AndrewVLsoftwarer, Если грубо. Инфа в большом приложении вносится через 6 вьюх шести условных модулей. Каждый модуль последовательно завязан на предидущий. Если уж совсем грубо - договор- счет- счет фактура - накладная- платежка. Вот и понадобилось бить в приложение только платежки . Сделал вьюху, которая на основании вставляемой в нее инфы делает все взаимосвязанные документы. И пользователю дают работать только с этой вьюхой на уровне интерфейса. Вот и хочется иметь возможность если вдруг пользователь захочет иметь полноценную прогу- дать ему новый экзешник и все. А база по структуре останется та же. Можно и так. А так похоже вам нужны plugin архитектура. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 13:15 |
|
Модули
|
|||
---|---|---|---|
#18+
AndrewVLЕсли уж совсем грубо - договор- счет- счет фактура - накладная- платежка. Скажу так, я вижу два основных подхода, оба из которых применял в подходящих для них ситуациях. Первый подход - это делается седьмой модуль, условно говоря "платёжка-2". В интерфейсе даётся доступ только к нему, форма ввода делается наследованием от формы "платёжки" с внесением необходимых изменений, серверный код этой платёжки-2 занимается в том числе заполнением таблиц накладных, счетов и прочего. Что получается таким образом: для всей ранее реализованной бизнес-логики этот модуль прозрачен, переключение на него или с него делается хоть на уровне изменения настроек администратором, при необходимости можно легко дать доступ "просмотреть сгенерированные накладные" итп. Второй подход - каждый модуль оформляется как существенно обособленный, по сути плагин, как в клиенте, так и в БД. Модули не взаимодействуют непосредственно между собой, всё взаимодействие делается через механизмы ядра. Это обвешивается некоторым количеством настроек, например в модуле платёжек делается настройка "требует выбора накладной / не требует / не даёт выбирать накладные", в модуле накладных делается настройка "подписаться на создание платёжек и автогенерить накладную" итп. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2014, 13:41 |
|
|
start [/forum/moderation_log.php?user_name=kos20eee]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 448ms |
total: | 619ms |
0 / 0 |