|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
softwarer Я привёл пару примеров того, что очевидно одинаковые (ну точнее очень схожие, если придираться) по функционированию программные комплексы либо относятся, либо не относятся к этой архитектуре в зависимости от мелких деталей, внешних по отношению к самому программному комплексу. То есть, такое определение архитектуры не оставляет для неё возможности иметь какие-либо характерные черты. Мы вообще не можем ничего сказать ни о её преимуществах, ни о её недостатках. Мы просто не можем её разумно обсуждать. Ну почему же не можем? Ещё как можем. Может вы приведёте пример, который создаст достаточное противоречие, чтобы мы зашли в тупик? Пример с Firebird Embedded не подходит, так как вы убрали одно звено, это совершенно очевидно. Никакого противоречия нет. softwarer При таком определении я могу взять, например, любое классическое клиент-серверное приложение - готовый к деплою дистрибутив - и не меняя в нём ни байта, продеплоить его как "мясорубку". И наоборот, могу взять любую "мясорубку" и сделать её "не мясорубкой". Ну о чём тогда вообще говорить? Нет, не можете. О чём и речь. Двухзвенка и трёхзвенка отличаются не только количеством звеньев, это скорее следствие, чем самоцель. У трех-звенки есть и свои недостатки по сравнению с двух-звенкой. Но эти недостатки полностью нивелируются преимуществами трёх-звенки в абсолютном большинстве случаев. Я бы сказал, сегодня вообще не имеет смысла делать двух-звенки, можно их спокойно хоронить и не чувствовать никаких угрызений совести по этому поводу :) Вообще трех-звенка это уже архетип. Под которым подразумевается N-звенная архитектура с количеством звеньев >=3. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2020, 18:35 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
softwarer Пожалуй, я сформулирую свой тезис так: "Архитектура программного комплекса - это то, что определяется разработчиком, глубоко влияет на реализацию программного комплекса и не может быть изменено без серьёзной переработки этого комплекса. То, что может быть легко и в любой момент изменено сисадмином работающего решения - при том, что разработчик вообще не в курсе - архитектурой программного комплекса заведомо не является". Этот тезис вызывает какие-либо возражения? Конечно. Программный комплекс с трехзвенной архитектурой можно упаковать в один контейнер. Грубо говоря, можно сделать инсталлер, который установит все звенья но одной машине, вместе с БД. И будет выглядеть всё как одно приложение, цельное. Но это совершенно ничего не меняет с точки зрения архитектуры. Более того, если именно таким образом планируется использовать ПО, то трёх-звенка будет избыточна, и двух-звенка тоже будет избыточна. Вот скажите вы мне, что нужно сделать ПО, которое будет устанавливать на компах юзера и работать полностью локально, и в этом отношении гарантировано ничего не изменится, то я бы не предлагал N-звенную архитектуру. Это будет одно единственное приложение со встраиваемой БД, если она требуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2020, 18:39 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
hVostt softwarerЭтот тезис вызывает какие-либо возражения? Конечно. Программный комплекс с трехзвенной архитектурой можно упаковать в один контейнер. Грубо говоря, можно сделать инсталлер, который установит все звенья но одной машине, вместе с БД. И будет выглядеть всё как одно приложение, цельное. Но это совершенно ничего не меняет с точки зрения архитектуры. Так с чем же в моём тезисе Вы не согласны? Я ведь сказал ровно это же: это ничего не меняет (не должно менять) с точки зрения архитектуры. И привёл примеры, в которых меняет (если верить определению). Из чего я и делаю вывод, что это негодное определение (ну или годное, но не архитектуры, а чего-то другого). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2020, 18:54 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
hVostt очень подробно описано в книге "Patterns of Enterprise Application Architecture" М. Фаулера. Так ведь читать книжки это авторфаулер головного мозга ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2020, 14:01 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
softwarer Так с чем же в моём тезисе Вы не согласны? Я ведь сказал ровно это же: это ничего не меняет (не должно менять) с точки зрения архитектуры. И привёл примеры, в которых меняет (если верить определению). Из чего я и делаю вывод, что это негодное определение (ну или годное, но не архитектуры, а чего-то другого). Похоже мне придётся согласиться с fkthat , вы уходите в софистику. Непонятно зачем. Давайте на пальцах. Трех-звенная архитектура, это когда у вас три звена, под звеном в разработке программного обеспечения следует понимать программу. Три разных программы. Первая программа -- клиент, который содержит интерфейс пользователя. Другая -- сервер приложений, который содержит логику. Третья программа -- сервер баз данных, которая содержит данные. В двух-звенной архитектуре у вас два звена. Т.е. две разных программы. Первая -- клиент, который содержит интерфейс пользователя + программную логику. Вторая -- сервер баз данных, который содержит данные. От того как вы эти приложения разместите, на одном компе, в одном контейнере, архитектура не меняется. Но если вы из двух приложений слепите одно, то всё меняется. И про "не поменяется ни строчки кода", это из страны фантазий. Либо вы откровенно и в упор не понимаете разницу в этих архитектурах. Что автоматически объясняет ваше негодование, когда кто-то сообщает о том, что ХП это плохо. Обыкновенное непонимание вопроса, уж извините. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 01:23 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
fkthat hVostt очень подробно описано в книге "Patterns of Enterprise Application Architecture" М. Фаулера. Так ведь читать книжки это авторфаулер головного мозга Да уже зла не хватает, когда кто-то начинает гнать на литературу. Прям откровенное дежавю, как будто в школе сопляки начитают гундеть на тему, да нафига мне эта ваша математика, русский, химия, бла-бла, всё равно буду бандюком зашибать бабло на улицах гоп-стопом ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 01:27 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
hVostt Похоже мне придётся согласиться с fkthat , вы уходите в софистику. Непонятно зачем. Если Вы не поняли какую-то мысль, это не повод бросаться подобными словами. В приличном обществе принято ответственно относиться к своим словам. Я выдвинул тезис, с моей точки зрения разумный и верный. Вы сказали, что не согласны с ним, и одновременно сказали по сути то же самое. Когда я указал на это, Вы брякнули про софистику. При этом Вы не удосужились хотя бы выделить смутившее Вас место и объяснить, что в нём Вам не нравится. Просто походя повесили ярлык. Честно говоря, по мне это возмутительно. Вы претендовали на серьёзный разговор, с договорённостью об одинаковом смысле слов итп. - так соответствуйте ему, чёрт возьми. Я могу сказать, как выглядит ситуация с моей стороны. В своё время некоторые умные люди выдвинули некоторые умные мысли, в том числе про многозвенку. Рассчитывая на то, что другие умные люди их поймут. К сожалению, ряд не столь умных людей отнёсся к этим мыслям как к религиозным догмам - без понимания, без критического осмысления, зато с молотком в руке. Я предлагаю таки подумать глубже, по-взрослому, всерьёз пошевелить мозгами. И когда мне в ответ снова начинают рассказывать "Бог сотворил мир за шесть дней и нуб тот, кто в этом сомневается" - мне становится скучно. hVostt Трех-звенная архитектура, это когда у вас три звена, под звеном в разработке программного обеспечения следует понимать программу. Три разных программы. Вы наконец-то пробуете дать определение звена - то, что я просил у Вас, если мне не изменяет память, ещё позавчера. Ок, я согласен с тем, что звено - это программа. Однако, к этому требуются принципиальные уточнения. Если Вам интересно, могу рассказать, какие. hVostt Что автоматически объясняет ваше негодование, когда кто-то сообщает о том, что ХП это плохо. Вы ушли в мир своих догматических фантазий. Дальше я попрошу дать ссылку, где я негодовал по этому поводу, Вы дадите какую-нибудь формальную отписку, где, конечно, ни следа негодования итп. hVostt Обыкновенное непонимание вопроса, уж извините. Знаете, моих сверстников в первом классе учили, что три минус пять будет ноль. И когда я намекал им, что это не совсем так, я тоже слышал про обыкновенное непонимание вопроса. И да, я отлично понимаю, что Вы даже не попытаетесь понять эту фразу, а снова повесите на неё ярлык "софистика". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 01:52 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
hVostt Да уже зла не хватает, когда кто-то начинает гнать на литературу. Не все является научной литературой. Ты даже не понимаешь, что твоя "трехзвенка" не является многозвенной архитектурой. Многозвенность (цепь), как минимум, означает, что количество звеньев может варьироваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 02:16 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
softwarer hVostt Похоже мне придётся согласиться с fkthat , вы уходите в софистику. Непонятно зачем. Если Вы не поняли какую-то мысль, это не повод бросаться подобными словами. В приличном обществе принято ответственно относиться к своим словам. Я выдвинул тезис, с моей точки зрения разумный и верный. Вы сказали, что не согласны с ним, и одновременно сказали по сути то же самое. Когда я указал на это, Вы брякнули про софистику. При этом Вы не удосужились хотя бы выделить смутившее Вас место и объяснить, что в нём Вам не нравится. Просто походя повесили ярлык. Честно говоря, по мне это возмутительно. Вы претендовали на серьёзный разговор, с договорённостью об одинаковом смысле слов итп. - так соответствуйте ему, чёрт возьми. Большая просьба, конкретизируйте и дублируйте информацию. "Я выдвинул тезис". Про какой конкретно мы сейчас тезис говорим? Я же дал чёткие общеизвестные определения архиктектур. Это не мои выдумки. Ещё раз. 3 звена = три программы. Встраивание FireBird меняет физически количество программ, но не меняет их логически. Если вы три независимых звена запустите в одном процессе, это всё равно три разных программы . Так что вот этим вы хотели сказать? Как типа не меняя ни строчки кода 3 звена превратить в 2? Нет, это обман. Просто используется способность FireBird работать внутри процесса приложения. softwarer hVostt Трех-звенная архитектура, это когда у вас три звена, под звеном в разработке программного обеспечения следует понимать программу. Три разных программы. Вы наконец-то пробуете дать определение звена - то, что я просил у Вас, если мне не изменяет память, ещё позавчера. Ок, я согласен с тем, что звено - это программа. Однако, к этому требуются принципиальные уточнения. Если Вам интересно, могу рассказать, какие. Мне пока не требуется. Уже этого достаточно, чтобы сказать, что ваш пример с FireBird приятнут за уши. Может вы другой пример приведёте? softwarer hVostt Что автоматически объясняет ваше негодование, когда кто-то сообщает о том, что ХП это плохо. Вы ушли в мир своих догматических фантазий. Дальше я попрошу дать ссылку, где я негодовал по этому поводу, Вы дадите какую-нибудь формальную отписку, где, конечно, ни следа негодования итп. Ок, если вы согласны, что использование ХП нужно избегать, тогда значит это и правда мои фантазии, и я ну другого подумал. softwarer hVostt Обыкновенное непонимание вопроса, уж извините. Знаете, моих сверстников в первом классе учили, что три минус пять будет ноль. И когда я намекал им, что это не совсем так, я тоже слышал про обыкновенное непонимание вопроса. И да, я отлично понимаю, что Вы даже не попытаетесь понять эту фразу, а снова повесите на неё ярлык "софистика". Ох уж эти понты "я в детстве был умнее сверстников" :) Сорри, без обид. Давайте замнём это и вернёмся к конкретике. Я сказал, что у вас нет понимания, потому что вы растекаетесь мыслью тонким слоем по кафелю, где всё чётко и понятно. Типа а если вот под вот этим углом посмотреть в раскоряку, то слон это апельсин. Ну и нафига оно? Понятно, что памятник Пушкину с определённой точки зрения это жопа. Какие вы хотите выводы из этого сделать? И зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 02:35 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
ViPRos hVostt Да уже зла не хватает, когда кто-то начинает гнать на литературу. Не все является научной литературой. Ты даже не понимаешь, что твоя "трехзвенка" не является многозвенной архитектурой. Многозвенность (цепь), как минимум, означает, что количество звеньев может варьироваться. Я понимаю и об этом уже сказал. Тебе просто было лень читать ) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 02:37 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
softwarer Ок, я согласен с тем, что звено - это программа. Я об этом еще полдюжины страниц назад писал, что "это то, что может быть развенуто на отдельном хосте", и давал ссылку на ту же самую книгу, вы же вместо того чтобы по ссылке сходить развели какую-то демагогию про уровень-неуровень и про головные мозги. А если кто-то пишет без goto, то у него, наверное, "дейкстра головного мозга", так что ли? :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 05:56 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
hVostt Но если вы из двух приложений слепите одно, то всё меняется. А насколько надо их "слепить" чтобы всё поменялось? По тому, что сказано Вами выше - поместить в одно адресное пространство недостаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 13:30 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov hVostt Но если вы из двух приложений слепите одно, то всё меняется. А насколько надо их "слепить" чтобы всё поменялось? По тому, что сказано Вами выше - поместить в одно адресное пространство недостаточно. Смысл в трех-звенки именно в разделении. Одна из основных проблем, которая решается -- горизонтальное масштабирование. Но это не единственный профит. Как я уже говорил трёх-звенка это архетип. Часто сервер приложений сам состоит из нескольких звеньев, если угодно -- микросервисов. Также сервер приложений может использовать не одну СУБД, а несколько. Реляционку, кеш, очереди, а также быть клиентом более высокоуровневой N-звенной архитектуры (интеграции). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 14:35 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
hVostt, трехзвенка никакой не архетип - это отрыжка недоделанной веб (результат не системной развитии ИТ, когда каждый козел стандартизирует свое говно) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 15:03 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
ViPRos hVostt, трехзвенка никакой не архетип - это отрыжка недоделанной веб (результат не системной развитии ИТ, когда каждый козел стандартизирует свое говно) при чём тут веб? я трёх-звенку делал и на десктопах много лет назад. чёт тебя послушать, так всё говно. фаулер и еже с ним гавно. архитектуры гавно. понаделали своих вебов, технологий, сволочи. я чёт подобное видел когда начинал только работать очень давно. сталкивался с разработчиком на фокс-про -- очень много желчи выливалось в курилке. потому что он со своими ограниченными знаниями фокс-про уже нахрен никому не нужен, а технологии ушли вперёд. вот он и сетовал, что просрал кучу времени зазря. хотя никто ему не мешал повышать квалификацию.. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 16:59 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
hVostt, все что сделано - тупик ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 19:43 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
hVostt сталкивался с разработчиком на фокс-про -- очень много желчи выливалось в курилке. потому что он со своими ограниченными знаниями фокс-про уже нахрен никому не нужен На форуме работа говорят , что разрабы фокспро черной икрой давятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2020, 21:17 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
ViPRos hVostt, все что сделано - тупик Пора было остановиться на изобретении огня, согласен :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2020, 01:40 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
fkthat hVostt сталкивался с разработчиком на фокс-про -- очень много желчи выливалось в курилке. потому что он со своими ограниченными знаниями фокс-про уже нахрен никому не нужен На форуме работа говорят , что разрабы фокспро черной икрой давятся. Став незаменимым, тоже можно вынести из этого выгоду. Поддержка устаревших платформ и технологий. На которые не найти спецов. Или писать откровенно плохой и неподдерживаемый код (как у ВМоисеева). Так тоже делают, порой даже специально. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2020, 01:54 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
ViPRos hVostt, все что сделано - тупик + + и быстро приведет к построению человеко-машиннй а затем полностью машинной цивилизации. Хотя это уже будет и не цивилизация - а так - материя. Сами себя уничтожаем - и очень быстро. Программисты в первых рядах. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2020, 08:36 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
а начиналось с вопроса авторправильно ли на каждое действие клиентского приложения создавать новое подключение к БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2020, 09:35 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
Изопропил а начиналось с вопроса авторправильно ли на каждое действие клиентского приложения создавать новое подключение к БД? От платформы зависит. .NET кеширует и повторно использует соединения из своего внутреннего пула, т.ч. в его случае правильно. Как с этим в случае с не-дотнет я в душе не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2020, 12:22 |
|
Взаимодействие клиентов с БД.
|
|||
---|---|---|---|
#18+
fkthat Изопропил а начиналось с вопроса пропущено... От платформы зависит. .NET кеширует и повторно использует соединения из своего внутреннего пула, т.ч. в его случае правильно. Как с этим в случае с не-дотнет я в душе не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2020, 13:04 |
|
|
start [/forum/topic.php?fid=33&startmsg=39965858&tid=1547103]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 8ms |
total: | 139ms |
0 / 0 |