|
|
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Всем привет! Подскажите пожалуйста как разбить проект на "модули"? по аналогии... Есть у меня проект на Delphi/С++, 1 маленький экзешник и стомильенов DLL в которых реализована вся программа, как мне на джаве разнести части программы по "модулям" (или пакетам или классам или что там еще бывает :) )? для начала простой пример 3 "модуля" 1. главный, который запускает пользователь (по аналогии с Delphi/С++ это MyApp.exe) 2. дополнительный который содержит форму с именем "Form1" (по аналогии с Delphi/С++ это Form1.dll) 3. дополнительный который содержит форму с именем "Form2" (по аналогии с Delphi/С++ это Form2.dll) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 00:21 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Честно сказать очень трудно что-то посоветовать, хотя я не обладаю огромным рюкзаком с опытом может в этом дело:) Как таковое разбиение не регламентировано (как и в delphi насколько я понимаю): по сути это папки и файлы в них. Я сколько помню основной класс лежит в корне, а уж все остальное "под ним". А там уже все от вашего проекта зависит - скажем если это JavaFX то у нас формы лежат в "other sources"->"fxml" (и там возможна еще разбивка и еще и еще). В отдельных папках контроллеры, проперти, модели... Если это у вас будет скажем web приложение с JSF то все (ну или какие-то части по крайней мере) может выглядеть иначе, но при этом все это не регламентировано а диктуется логикой и здравым смыслом. Как бы все зависит от вас и вашего понимания того что и как должно быть в вашем проекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 01:14 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Декомпозицию задачи на модули можно делать по разным принципам. Например исходя из потребительских или лицензионных соображений. Этот модуль мы продаем. А тот - за отдельные деньги. Или архитектурно. Исходя из слабо-связности компонент. Драйвер к примеру может быть модулем. Его и апргейтить так удобнее. Или исходя из балансировки нагрузки. Часть функционала рабоатет на 1-й ноде. Это модуль. И часть на другой. Какая связь между модулями и формочками (Delphi) я не знаю. Наверное форма - это слишком мелкая единица. Может автор имел в виду package? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 02:13 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
MandarinПодскажите пожалуйста как разбить проект на "модули"? "Чтобы что?" Т.е. какая цель? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 06:23 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Mandarin, Странно, что никто не ответил. Аналог dll для Java это jar файлы. Ну, только разбивать на модули ради только модульности особого смысла нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 08:22 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
MandarinВсем привет! Подскажите пожалуйста как разбить проект на "модули"? по аналогии... Есть у меня проект на Delphi/С++, 1 маленький экзешник и стомильенов DLL в которых реализована вся программа, как мне на джаве разнести части программы по "модулям" (или пакетам или классам или что там еще бывает :) )? для начала простой пример 3 "модуля" 1. главный, который запускает пользователь (по аналогии с Delphi/С++ это MyApp.exe) 2. дополнительный который содержит форму с именем "Form1" (по аналогии с Delphi/С++ это Form1.dll) 3. дополнительный который содержит форму с именем "Form2" (по аналогии с Delphi/С++ это Form2.dll) Как обычно. Создаете три модуля, т.е. у вас будет три jar-ника. Первый будет иметь зависимость от двух последующих. Т.е. для его работы нужны будут два ваших jar-ника. Вроде бы все... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 09:37 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczMandarin, Странно, что никто не ответил. Аналог dll для Java это jar файлы. Ну, только разбивать на модули ради только модульности особого смысла нет. Я побоюсь говорить такую аналогию. Есть несколько тонких отличий (да хотя бы способ поиска). А т.к. непонятно, зачем это автору- то и неясно, важны ли они. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 10:53 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Alexey TominЯ побоюсь говорить такую аналогию. И почему же? Alexey TominЕсть несколько тонких отличий (да хотя бы способ поиска). И что теперь? Это прямой аналог, без вариантов. Alexey TominА т.к. непонятно, зачем это автору- то и неясно, важны ли они. Автор спрашивает и приводит пример. Есть что-то более близкое по описанию кроме jar? Нет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 11:00 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczMandarin, Странно, что никто не ответил. Аналог dll для Java это jar файлы. Ну, только разбивать на модули ради только модульности особого смысла нет. +1 Только аффтару нужно знать, что в D есть кроме dll ещё пакеты (*.bpl). Они эффективнее. И в Java тоже есть пакеты и классы (ООП). Так что аффтар, не выноси мозг. ООП, он и в африке ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 14:23 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
спасибо за ответы если dll это jar файлы, то это как раз то, что мне нужно. Осталось только добыть информацию, о том как из одного jar файла загрузить другой jar файл и передать ему (или его объектам) параметры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 14:56 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Mandarinесли dll это jar файлы, то это как раз то, что мне нужно. Осталось только добыть информацию, о том как из одного jar файла загрузить другой jar файл и передать ему (или его объектам) параметры. Никак. Все скопом добавляются в classpath и вызывают классы друг-друга. Для более навороченой модульности, нужно использовать другие фреймверки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 14:57 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczMandarinесли dll это jar файлы, то это как раз то, что мне нужно. Осталось только добыть информацию, о том как из одного jar файла загрузить другой jar файл и передать ему (или его объектам) параметры. Никак. Все скопом добавляются в classpath и вызывают классы друг-друга. Для более навороченой модульности, нужно использовать другие фреймверки. А через ClassLoader разве динамическую загрузку не сделать? Если, конечно, это именно то, что нужно Т.С. Т.к. нафига это ему нужно, пока не очень понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:03 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Mandarinспасибо за ответы если dll это jar файлы, то это как раз то, что мне нужно. Осталось только добыть информацию, о том как из одного jar файла загрузить другой jar файл и передать ему (или его объектам) параметры. Не делай двойку по дельфи в двойку по Java. Передавай параметры в объект-класс Форма, пока не понадобился модуль ТиС (торговля и склад) Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:06 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Mandarinспасибо за ответы если dll это jar файлы, то это как раз то, что мне нужно. Осталось только добыть информацию, о том как из одного jar файла загрузить другой jar файл и передать ему (или его объектам) параметры. Для чего вам всё это, какова конечная цель? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:26 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
первостепенная цель это конечно власть и богатство !!! а второстепенная цель - коммерческая тайна :) надо это или не надо позвольте мне решать :) помогите лучше с реализацией. то что мне нужно я описывал выше, мне нужно сделать так, чтобы при работе программы я мог динамически подгружать код, который находится в отдельном файле (или модуле или пакете назовите как угодно смысл я думаю понятен), модули эти не зависят друг от друга у каждого модуля есть "место" куда подаются параметры и "место" для вывода параметров в Delphi это реализуется экспортируемыми процедурами/функциями или SendMessage/PostMessage если есть окно для получения сообщений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:49 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Mandarin, P.S. откуда цель... посмотрите фото в профиле :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:50 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Mandarinв Delphi это реализуется экспортируемыми процедурами/функциями или SendMessage/PostMessage если есть окно для получения сообщений. в Java - REST. Устраивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:52 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Mandarinфото в профиле :) зато с юмором - 5 ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:53 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Petro123Mandarinв Delphi это реализуется экспортируемыми процедурами/функциями или SendMessage/PostMessage если есть окно для получения сообщений. в Java - REST. Устраивает? может быть почитаю про REST, пока не знаю что это. спасибо за подсказку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:57 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
я наверное забыл сказать о самом главном, то что я собираюсь делать будет работать как десктопное приложение НЕ web. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 15:58 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Mandarin..чтобы при работе программы я мог динамически подгружать код, который находится в отдельном файле... Теоретически ClassLoader это позволять должен [quot Mandarin] в Delphi это реализуется экспортируемыми процедурами/функциями [quot Mandarin] Аналогично. Класс и его public методы. Mandarin...SendMessage/PostMessage если есть окно для получения сообщений. Что общего между "динамически подгружать код" и очередью сообщений Windows - лично я не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 16:00 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
похоже на osgi. по крайней мере в netbens можно разные api отключать подключать динамически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 18:45 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
MandarinОсталось только добыть информацию, о том как из одного jar файла загрузить другой jar файл и передать ему (или его объектам) параметры.Не надо принимать аналогии настолько буквально. Для работы с пачкой jar-ов есть несколько вариантов: 1. Перечислить всё нужное в аргументе опции -cp java/javaw ; 2. Использовать Class-Path манифеста ; 3. Реализовать собственный загрузчик классов. P.S. Для особо недогадливых: третий вариант - чисто поприкалываться. Второй вариант создаёт жёсткую зависимость по именам и расположению вспомогательных jar, но позволяет использовать (удобную) опцию -jar всё того же java(w). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2016, 19:27 |
|
||
|
Как разбить проект на "модули"?
|
|||
|---|---|---|---|
|
#18+
Mandarinпервостепенная цель это конечно власть и богатство !!! а второстепенная цель - коммерческая тайна :) надо это или не надо позвольте мне решать :) помогите лучше с реализацией. Реализаций вагон, каждая из них позволяет достигнуть определённой цели, определённого поведения готового приложения. Но при такой постановке вопроса затрудняюсь дать вам правильный совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.02.2016, 09:51 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39179969&tid=2124324]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
94ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 539ms |

| 0 / 0 |
