powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Где должна лежать бизнес-логика в мнгоуровневом приложении
25 сообщений из 318, страница 11 из 13
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36488987
ОКС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кифирчик
кто что ещё хочет сказать по поводу моей специфики... в смысле квалификации? )))

Скорее всего, они имеют в виду, что условие a.build_num = null никогда не выполнится.
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36488991
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКСiscrafm,

Смысл какого именно слова вам объяснить?
да начиная с самого первого перла
ОКСiscrafm
Верификацию действительно делают на клиенте. Валидацию тоже конечно можно, если система для монопольного использования.

Очень, очень красивое решение - валидация на клиенте.
Вам бы банковское ПО проектировать.


p.s. какой-то бестолковый тролль попался, ничего не понимает
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36489038
drev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmdrev, многие путают эти понятия.
у них даже определения, в том же ISO практически одинаковые. Несколько "но"...
1. верификация всегда выполняется до валидации, ни никак не наоборот
2. если верификация говорит, что да, данные соответствуют, то валидация подтверждает результаты верификации... утверждает, фиксирует.. как больше нравится, смысл от этого не меняется.
если, допустим, на клиенте выполняется верификация правильности исходных данных для транзакции (проверка на соответствие заданным ограничениям), то процедура валидации, выполнив транзакцию и доказав тем самым их правильность, подтверждает это. Слово "доказав" - ключевое для понимания различий в этих двух терминах.

Ладно, Б-г с ними, с терминами.. чувствую, что прояснить до конца не получится

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

Например, проверка на максимальную сумму снятия может быть простой (для всех < $500) или зависеть от типа пользователя (или даже от конкретного пользователя ).

Таким образом мы приходим к необходимости частичного или полного дублирования бизнес логики как минимум в БД и на клиенте.

В чрезвычайно редких случаях ее также нужно имплементировать на МТ, который, кстати, вовсе не обязательно СП.
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36489496
Егоров Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drevТаким образом мы приходим к необходимости частичного или полного дублирования бизнес логики как минимум в БД и на клиенте.
Почему дублировать? Клиент может кешировать вместе с данными и те бизнес-правила, которые необходимы для проверки этих данных :) Зависит от конкретной реализации клиентской части, не более.
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36489781
web_fox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andrey,

Bogdanov AndreyЯ правильно понимаю, что обяснить сделай "insert into..." существенно сложнее, чем вызови процедуру "insertInto". Неужели все так плохо с разработчиками среднего слоя?

Неудачный минимализм.
Если вам не нравится идея - это не повод приводить глупые примеры. Процедур "insertInto" не бывает, бывают "CreateClient", "CreateWorkOrder" и т.п. "Сегодня" в них может оказаться и один инсерт, а "завтра" не только. А ещё у нас разработчики среднего слоя не только не делают "инсерты" и не проектируют БД , но и не проектируют интерфейс пользователя - это тоже делают отдельные люди, хотя и большинству разработчиков не составит труда никидать формочку и без UI-дизайнера, но не делают, потому что не специалисты в этом и они не будут сидеть и просчитывать, например, число действий пользователя для выполнения сценария в системе.

Идею я объяснил - распредление работ в соответствии с профессиональными навыками. Мы не расчитываем на Java-программистов, которые спокойно могут сертифицироваться на разработчика под Oracle. Мы задачи распределяем по-другому. И я не называю ваш подход "костылями", программируйте на здоровье.
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36489850
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разработчик среднего слоя
1. не знает структуру БД
2. не занимается бизнес-логикой, т.к. сказано, что вся логика на процедурах БД
3. не занимается клиентской частью и интерфейсом
Загадка: чем занимается разработчик среднего слоя в таком случае? Все что осталось - ретрансляция запросов от клиента к СУБД. Эта задача один раз проектируется, кодируется и забывается. К тому же, полно таких ретрансляторов в готовом виде. Может о чем-то умалчивается? Или просто нет информации о том, кто и чем занимается?
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36489856
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
web_foxЕсли вам не нравится идея - это не повод приводить глупые примеры. Процедур "insertInto" не бывает, бывают "CreateClient", "CreateWorkOrder" и т.п. Правда не бывает? Во всех встречавшихся мне примерах реализации вашего подхода "вся работа с БД только через ХП" как раз процедуры insertInto (а также updateInto и т.п.) встречались в изобилии. Да и Кифирчик именно такую процедуру приводил.
Ну если вы так не делаете, то ваш подход в целом понятен, правда средства его реализации на мой взгляд не лучшие. РСУБД позволяет организовать данные в соответствии с реляционной моделью. Наиболее естественным и удобным языком для работы с реляционными данными является SQL. Вы поверх реляционной модели строите объектную - именно в рамках этой модели появляются такие объекты, как Client, WorkOrder и т.п. Согласен, для реализации бизнес-логики объектная модель данных действительно удобнее (то есть имеем не два слоя "модель данных"-"бизнес-логика", а три "реляционная модель"-"объектная модель"-"бизнес логика"). Но вот ее реализация средствами хранимых процедур в РСУБД не самый удобный вариант. Гораздо удобнее вынести слой преобразования реляционной модели в объектную на более подходящие для этого средства. Может быть и вообще стоит отказаться от слоя реляционной модели (зачем она вам?), а использовать ООБД.
Теперь можно вернуться в основное русло темы немного расширив его и к вопросу "где должна лежать бизнес-логика?" добавить еще и вопрос "где должна лежать объектная модель данных?" :)
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36489944
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov Andreyможно вернуться в основное русло темы немного расширив его и к вопросу "где должна лежать бизнес-логика?" добавить еще и вопрос "где должна лежать объектная модель данных?"
все движется к этому
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36489969
ОКС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafm

Ничего, наберетесь опыта и сами поймете, почему ваше решение размещать валидацию на клиенте выглядит смешным и по-студенчески наивным.
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36489987
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКСiscrafm

Ничего, наберетесь опыта и сами поймете, почему ваше решение размещать валидацию на клиенте выглядит смешным и по-студенчески наивным.
у меня нет таких решений? Ты меня наверное с кем-то перепутал. Какой-то бестолковый тролль.
Костя отвечай уже под своим ником.
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490011
ОКС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну нет, так нет.
Тогда вам лучше пояснить, что это была шутка:

iscrafm
Верификацию действительно делают на клиенте. Валидацию тоже конечно можно, если система для монопольного использования.

А то кто-нибудь может воспринять, как хорошую идею.
Некрасиво может получиться.
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490045
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКСНу нет, так нет.
Тогда вам лучше пояснить, что это была шутка:

iscrafm
Верификацию действительно делают на клиенте. Валидацию тоже конечно можно, если система для монопольного использования.

А то кто-нибудь может воспринять, как хорошую идею.
Некрасиво может получиться.
нет, это была не шутка. Там по-русски все написано. Скажи на какой язык перевести, я переведу смысл фразы " если система для монопольного использования ", если по-русски не понимаешь. Могу помочь. Странно, что ты с незнанием русского языка взялся флудить на русскоязычном форуме.
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490254
ОКС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmнет, это была не шутка. Там по-русски все написано. Скажи на какой язык перевести, я переведу смысл фразы " если система для монопольного использования ", если по-русски не понимаешь. Могу помочь. Странно, что ты с незнанием русского языка взялся флудить на русскоязычном форуме.

Есть какие-нибудь мысли по обоснованности данного решения или ваши слова следует воспринимать как "личное мнение, не основанное на сравнении и анализе"?
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490262
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКСiscrafmнет, это была не шутка. Там по-русски все написано. Скажи на какой язык перевести, я переведу смысл фразы " если система для монопольного использования ", если по-русски не понимаешь. Могу помочь. Странно, что ты с незнанием русского языка взялся флудить на русскоязычном форуме.

Есть какие-нибудь мысли по обоснованности данного решения или ваши слова следует воспринимать как "личное мнение, не основанное на сравнении и анализе"?
мнение о чем?
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490269
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о том, что в однопользовательской системе без разницы, где делать проверку? Или о том, что если человек не понимает по-русски, то ему нужно помочь, перевести?
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490282
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если по первому варианту, то могу даже дополнить: в системе для одного пользователя даже сервер не нужен.
Если по второму, то хоть и говорят, что не нужно кормить троллей, но если бедолага не понимает простых вещей, то почему бы и не дать кроху хлеба
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490392
ОКС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmв системе для одного пользователя даже сервер не нужен.

У вас необходимость использования сервера определяется исключительно количеством пользователей системы?
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490404
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКСiscrafmв системе для одного пользователя даже сервер не нужен.

У вас необходимость использования сервера определяется исключительно количеством пользователей системы?
нет, она определяется необходимостью. А у вас?
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490420
ОКС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmнет, она определяется необходимостью. А у вас?

Вы как-то сами себе противоречите:
iscrafmв системе для одного пользователя даже сервер не нужен.
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490429
ОКС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разницу же между монопольным использованием системы и количеством пользователей системы предлагаю изучить самостоятельно.
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490433
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКСiscrafmнет, она определяется необходимостью. А у вас?

Вы как-то сами себе противоречите:
iscrafmв системе для одного пользователя даже сервер не нужен.
необходимость - это когда что-то нужно. Для одного пользователя в сервере нет необходимости. Может не возникнуть необходимости и для двух-трех и т.п., если они работают в монопольном режиме (извини за употребление незнакомых тебе слов).
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490470
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКСРазницу же между монопольным использованием системы и количеством пользователей системы предлагаю изучить самостоятельно.
если не понимаешь что это такое применительно к информационным системам, попробуй дома с DVD центром провести эксперимент. Посади несколько человек послушать музыку. Уровень громкости регулируй на DVD, чтобы он всех удовлетворил. Потом, в гнездо для наушников, воткни эти самые наушники и отрегулируй звук при помощи регулятора на них (на клиенте), так чтобы было комфортно тебе. Поверь, барабанные перепонки остальных от этого не пострадают. Наслаждайся монопольным использованием звука. Можешь убрать сервер (центр), за ненадобностью, и воткнуть наушники в персональный плеер.
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490523
ОКС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmДля одного пользователя в сервере нет необходимости.

Забавный максимализм.
Где же тогда хранить данные, скажем, той или иной мобильной системе сбора данных, системе видеорегистрации или хотя бы единственному бухгалтеру небольшой компании?
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490530
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКСiscrafmДля одного пользователя в сервере нет необходимости.

Забавный максимализм.
Где же тогда хранить данные, скажем, той или иной мобильной системе сбора данных, системе видеорегистрации или хотя бы единственному бухгалтеру небольшой компании?
на компьютере.

p.s. с нашниками получилось?
...
Рейтинг: 0 / 0
Где должна лежать бизнес-логика в мнгоуровневом приложении
    #36490568
ОКС
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafmp.s. с нашниками получилось?

Попробую на досуге.
Вы же в свою очередь пообещайте прочитать что-нибудь об использовании СУБД в монопольном режиме.
...
Рейтинг: 0 / 0
25 сообщений из 318, страница 11 из 13
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Где должна лежать бизнес-логика в мнгоуровневом приложении
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]