|
|
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Кифирчиккогда кто-то вызвал "UPDATE", в MSSQL, как блокировочнике, таблица "блокируется" пока этот апдейт не выполнится... и когда туда тыркаются другие, они получают болт...Смелое утверждение. Не поделитесь источником "знаний" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 02:02 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafmнемного расшифрую вопрос... часто путают понятия валидация и верификация, аутентификация и авторизация и т.п. Само сочетание "валидация ввода" звучит немного корявенько, поэтому хочется понять о чем идет речь. Если о проверке вводимых значений, то клиент именно то место, где такой проверке самое место (тавтология). Если речь идет о проверке возможности применения в системе введенной (полученной другими способами входящей информации) то это как раз и является предметом спора в данной теме. Тогда лучше выскажите свое мнение по данному вопросу. ИМХО, не все так просто, как Вы пишите. Рассмотрим, например, сумму транзакции: Правило первое: "Если транзакция инициирована в банкомате, то сумма таких транзакций за день не может превышать Х(например - $500). Очевидно, что из этого следует, что любая атомарная транзакция в банкомате не может превышать $500. Эту проверку можно и нужно провести на клиенте. Более того, после проверки пин-кода можно передать на клиент сумму уже произведенных трамзакций за день и провести полную проверку (возможность этого действия определяется из стандартов безопасности). В любом из вариантов, эту же проверку нужно провести на сервере (ИМХО, в БД). Таким образом мы видим, что одно и то же бизнес-правило применяется дважды - на клиенте(для удобства пользователя и уменьшения числа раунд-трипов) и на сервере(БД) (для поддержания целостности). Правило второе: "Сумма снятия не должна превышать остаток на счету более чем на предел овердрафта, установленный для данного пользователя". Опять же, предварительную проверку можно провести на клиенте, но окончательная должна быть обеспечена на уровне БД. Правило третье. "при выполнении условия Х (например, сумма депозита более $10.000) необходимо сообщить по адресу alert@irs.gov". Выполнения этого правила зависит от сложности условия и возможностей соответствующего звена посылать сообщения. В общем случае(например, если транзакции можно осуществлять через разных клиентов, включая прямой доступ к базе), оно должно быть инициировано из БД и, если есть такая функцинальность, оттуда и отослано. Проверка должна производиться на СП, если в базе нет всей необходимой информации (например, номер карточки отслеживается федеральной службой и предоставляется через веб-сервис. Я ответил на Ваш вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 06:54 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Bogdanov Andreydrev1. К базе данных обращаются разные программыЕсли разные программы обращаются именно к базе данных, то естественно, что база данных должна представлять собой целостный сервис и все проверки обеспечивающие эту целостность должны быть в БД. Но обычно (по крайней мере в последнее время), если одними данными пользуется несколько разных программ, то существует некий централизованный сервер приложений, предоставляющий им интерфейсы. К сожалению, это "обычно" мне практически не встречалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 06:58 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
КифирчикКогда с базой работает один пользователь - это все лишнее... но когда их много, могут возникнуть проблемы при обращении к одним ресурсам... ...skipped... в свете описанных сложностей, я вообще смутно представляю, как в таких ситуациях без хранимок, это наверно только в сайтах, где не особо с конкурентным доступом, программист может просто в коде написать INSERT... я бы посмотрел как бы это прокатило в какой-нить системе бронирования билетов ) Некоторые сложности могут встречаться, но все они легко решаются и безо всяких хранимок. А вот то, что ваша хранимка уже не позволяет организовать нормальные транзакции - факт. Если бизнес-логика требует, чтобы адрес появлялся только вместе с его обладателем, то придется вам новую хранимку писать или эту переписывать. А уж в системе бронирования билетов без нормальных транзакций точно не обойтись. Там надо в одной транзакции и место забронировать и денежную операцию оформить и какие-нибудь бонусы рассчитать. А у вас на каждый insert - своя процедура с begin transaction. Посмотрел бы я как это в системе бронирования прокатит. Кифирчикотвечая на ваш пост, я не абсолютизировал "доступ к БД" через хранимки, Дискуссия возобновилась с высказывания web_fox: "все обращения к БД только через ХП". Это весьма категоричное и абсолютное высказываение. Как мне показались, вы выступили в поддержку web_fox. Я правильно понимаю, что мне показалось неправильно, и вы отнюдь не считаете, что все обращения к БД должны идти через хранимки? Кифирчикя хотел сказать, что в некоторых случаях без хранимок либо вообще ни как, либо очень тяжко, даже еcли отбросить логику и говорить о простых INSERTЕсли отбросить логику то от вашей хранимки вообще ничего не останется. Естественно, иногда хранимые процедуры оказываются весьма удобным инсрументом. Иногда они позволяют упростить код, иногда соптимизировать. Но задач, которые бы не решались без них - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 07:56 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Bogdanov AndreyА вот то, что ваша хранимка уже не позволяет организовать нормальные транзакции - факт. ой... а с чего вы так решили? Bogdanov AndreyЕсли бизнес-логика требует, чтобы адрес появлялся только вместе с его обладателем, то придется вам новую хранимку писать или эту переписывать. пришлось бы.... ну и? а... кажется понял, это вы к тому, что если без хранимок, то вы только в одном "слое" внесли бы изменения, а тут надо и хранимку переделать, и в её вызове на клиенте добавить несколько параметров.. ну да... это очень сложно Bogdanov AndreyДискуссия возобновилась с высказывания web_fox: "все обращения к БД только через ХП". Это весьма категоричное и абсолютное высказываение. Как мне показались, вы выступили в поддержку web_fox. Я правильно понимаю, что мне показалось неправильно, и вы отнюдь не считаете, что все обращения к БД должны идти через хранимки? да, все подряд обращения, и во всех возможных ситуациях, делать черех хранимки не стоит, но иногда без них не обойтись, я привел пример с INSERT Bogdanov AndreyНо задач, которые бы не решались без них - нет. ... в смысле вам не попадались ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 08:56 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
drev Я ответил на Ваш вопрос? Вы описали обычные процедуры бизнес-логики. К проверке ввода не имеющие отношения. Все действия действительно выполняются на сервере, ну разве что, применительно к банкомату, проверка максимальной суммы атомарной транзакции, заданной как параметр. Для остального - связь с сервером. drevПравило второе: "Сумма снятия не должна превышать остаток на счету более чем на предел овердрафта, установленный для данного пользователя". Опять же, предварительную проверку можно провести на клиенте, но окончательная должна быть обеспечена на уровне БД. какие еще предварительные проверки овердрафта на клиенте? шутить изволите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 09:57 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 10:03 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
КифирчикBogdanov AndreyЕсли бизнес-логика требует, чтобы адрес появлялся только вместе с его обладателем, то придется вам новую хранимку писать или эту переписывать. пришлось бы.... ну и? а... кажется понял, это вы к тому, что если без хранимок, то вы только в одном "слое" внесли бы изменения, а тут надо и хранимку переделать, и в её вызове на клиенте добавить несколько параметров.. ну да... это очень сложно если есть желание, образно, "за теже деньги" постоянно переписывать и добавлять ХП, то конечно не сложно. Но все же более нормально выглядит "работать меньше за теже деньги" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 10:10 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafm как же все-таки поступят адепты утверждения "все только на хранимках"? рискну предположить, что напишут очередную ХП для этого действия, и возможно, если будет изменяемое колличество параметров, внутри будет динамичекский SQL а что подразумевается под iscrafmбанальная задачка: ... 2. Поочередно отредактировать каждую запись, которая вызовет назначенную для этого действия ХП. Тяжело? ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 10:40 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Кифирчикiscrafm как же все-таки поступят адепты утверждения "все только на хранимках"? рискну предположить, что напишут очередную ХП для этого действия, и возможно, если будет изменяемое колличество параметров, внутри будет динамичекский SQL а количество параметров тоже динамически изменяемое? Или парсер напишут? Кифирчика что подразумевается под iscrafmбанальная задачка: ... 2. Поочередно отредактировать каждую запись, которая вызовет назначенную для этого действия ХП. Тяжело? ? подразумевается то, что и написано. пройтись по записям выборки и вызвать для каждой UPDATE-процедуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 10:57 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Кифирчикой... а с чего вы так решили? Сами же и отвечаете на свой вопрос: Кифирчикпришлось бы.... ну и? а... кажется понял, это вы к тому, что если без хранимок, то вы только в одном "слое" внесли бы изменения, а тут надо и хранимку переделать, и в её вызове на клиенте добавить несколько параметров.. ну да... это очень сложноТо есть ваша готовая хранимка обеспечить нормальное управление транзакциями не позволяет. Придется писать другую. О чем и речь. А то за главное преимущество хранимок выдавалась простота внесения изменений. Оказывается простота заключается в написании новой хранимки почти на каждый чих. КифирчикBogdanov AndreyНо задач, которые бы не решались без них - нет. ... в смысле вам не попадалисьА вам попадались? Пример приведете? А я просто весь текст вашей хранимки на язык СП перепишу и хранимку выкину. Работать перестанет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 11:11 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafmdrev Я ответил на Ваш вопрос? Вы описали обычные процедуры бизнес-логики. К проверке ввода не имеющие отношения. Все действия действительно выполняются на сервере, ну разве что, применительно к банкомату, проверка максимальной суммы атомарной транзакции, заданной как параметр. Для остального - связь с сервером. drevПравило второе: "Сумма снятия не должна превышать остаток на счету более чем на предел овердрафта, установленный для данного пользователя". Опять же, предварительную проверку можно провести на клиенте, но окончательная должна быть обеспечена на уровне БД. какие еще предварительные проверки овердрафта на клиенте? шутить изволите. У нас с Вами явно разные представления о data validation. Попытка противопоставить "проверку ввода и процедуры бизнес-логики" ясно это показывает. В классическом понимании "проверка ввода" осуществляется на основании бизнес-правил, которые могут выражены многими способами, в частности, с помощью "процедур бизнес-логики" или декларативных правил или другими способами. Вы согласны с этим? Если "да" - я не понимаю смысла Вашего высказывания. Если "нет" - не могли бы вы привести свое определение? Я постарался Вам показать (последовательно), что существуют бижес-правила разной сложности и "динамичности. Некоторые из них можно выполнить на клиенте, некоторые - только на сервере, некоторые - предварительно на клиенте. Например - "проверки овердрафта на клиенте". После проверки пин-кода на клиенте(банкомате) доступна информация об текущем остатке (если есть овердрафт, и о нем тоже). Эту информацию можно использовать для предварительной проверки валидности транзакции и подсказки клиенту, что она может быть невалидной. Так понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 11:24 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
drevУ нас с Вами явно разные представления о data validation. Попытка противопоставить "проверку ввода и процедуры бизнес-логики" ясно это показывает. и не только со мной. Как уже говорил выше, есть понятие валидации, есть понятие верификации. Определений полно в интернете. Верификацию действительно делают на клиенте. Валидацию тоже конечно можно, если система для монопольного использования. drevНапример - "проверки овердрафта на клиенте". После проверки пин-кода на клиенте(банкомате) доступна информация об текущем остатке (если есть овердрафт, и о нем тоже). Эту информацию можно использовать для предварительной проверки валидности транзакции и подсказки клиенту, что она может быть невалидной. Так понятно? в каком банке таким образом банкоматы построены? постараюсь не пользоваться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 11:31 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafmКифирчикiscrafm как же все-таки поступят адепты утверждения "все только на хранимках"? рискну предположить, что напишут очередную ХП для этого действия, и возможно, если будет изменяемое колличество параметров, внутри будет динамичекский SQL а количество параметров тоже динамически изменяемое? Или парсер напишут? Ну, если пошла такая пьянка :) А парсер-то зачем писать? Передали XML и пользуемся встроенным :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 11:37 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafm drevУ нас с Вами явно разные представления о data validation. Попытка противопоставить "проверку ввода и процедуры бизнес-логики" ясно это показывает. и не только со мной. Как уже говорил выше, есть понятие валидации , есть понятие верификации . Определений полно в интернете. Верификацию действительно делают на клиенте. Валидацию тоже конечно можно, если система для монопольного использования. Вау, чем дальше в лес.. ОК, читаем здесь : http://msdn.microsoft.com/en-us/library/aa291820(VS.71).aspx 1. "One of the simplest forms of data validation is verifying the data type." 2. "This kind of complex multifile data validation is often best handled with procedure-based business rules." Так понятно? iscrafm drevНапример - "проверки овердрафта на клиенте". После проверки пин-кода на клиенте(банкомате) доступна информация об текущем остатке (если есть овердрафт, и о нем тоже). Эту информацию можно использовать для предварительной проверки валидности транзакции и подсказки клиенту, что она может быть невалидной. Так понятно? в каком банке таким образом банкоматы построены? постараюсь не пользоваться Я боюсь, Вас туда клиентом не возьмут :( Wells Fargo, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 11:58 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafm...а количество параметров тоже динамически изменяемое? Или парсер напишут?... ...подразумевается то, что и написано. пройтись по записям выборки и вызвать для каждой UPDATE-процедуру... что-то редко попадались если очень интересно, приведите более осязаемый пример... табличку, условия и пример кода, в котором бы вы это выполнили из СП А вам попадались? Пример приведете? А я просто весь текст вашей хранимки на язык СП перепишу и хранимку выкину. Работать перестанет? конкретно та, что я привел, наверно будет, я именное её выбрал, потому, что она самая коротка... скажите как вы в СП будете разруливать ситуацию: связанные сущности: адрес-клиент-счет допустим, запускается с сервера приложений, некоторая процедура, которая должна рассчитать списание клиентам за услуги... клиентов - большой список... время выполнения, на СП... ну допустим 3 минуты... сумма списанией за услуги рассчитывается исходя из адреса клиента... запускается, ваша процедура на СП (А).... и, в эти 3 минуты, один из менеджеров, вносит изменение в базу, меняет одному из клиентов адрес, либо вообще закрывает "счет"(В)... И так сходятся звезды, и погода на марсе 1. А - начата обработка ... 2. В - проверка что сальдо не меньше нуля 3. А - доходим до этого клиента, считываем о нем данные, на основании которых делаем списание 4. А - рассчитываем на основании адреса сумму списания 5. В - закрытие счета (либо изменение адреса, а то есть условий начисления) 6. А - списание со со счета (сумма уже не корректная, либо записана на закрытый счет) разместив это в хранимой процедуре и залочив нужные таблицы, я не дам возможности менеджеру выполнять какие либо изменения в базе, пока не завершится операция списания более того, может возникнуть ситуация (к примеру), когда А, заблокировало одни ресурсы (Х), Б другие(Y)... потом А пытается добраться до Y, и замирает, потому, что Y заблокировано процессом В, а Б ждет когда освободится X, потому, что X заблок процессом A... И в лучшем случае, и A и В отвалятся с ошибками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 12:05 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
dreviscrafm drevУ нас с Вами явно разные представления о data validation. Попытка противопоставить "проверку ввода и процедуры бизнес-логики" ясно это показывает. и не только со мной. Как уже говорил выше, есть понятие валидации , есть понятие верификации . Определений полно в интернете. Верификацию действительно делают на клиенте. Валидацию тоже конечно можно, если система для монопольного использования. Вау, чем дальше в лес.. ОК, читаем здесь : http://msdn.microsoft.com/en-us/library/aa291820(VS.71).aspx 1. "One of the simplest forms of data validation is verifying the data type." 2. "This kind of complex multifile data validation is often best handled with procedure-based business rules." Так понятно? а сами поняли? Вы привели выдержку в которой написано, что: 1. простейшей формой валидации является верификация соответствия типов данных 2. комплексная валидация выполняется при помощи процедур бизнес-логики я, в общем-то, об этом и говорю. Есть верификация, есть валидация. Что должно быть понятно? drev iscrafm drevНапример - "проверки овердрафта на клиенте". После проверки пин-кода на клиенте(банкомате) доступна информация об текущем остатке (если есть овердрафт, и о нем тоже). Эту информацию можно использовать для предварительной проверки валидности транзакции и подсказки клиенту, что она может быть невалидной. Так понятно? в каком банке таким образом банкоматы построены? постараюсь не пользоваться Я боюсь, Вас туда клиентом не возьмут :( Wells Fargo, например. спасибо за подсказку. Я же и говорю, что не хочу пользоваться банкоматами, в которые без моего ведома доступный остаток счета отправляется, типа для верификации правильности введенных сумм. Не одну тысячу долларов уже "тырили". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 12:18 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Кифирчикiscrafm...а количество параметров тоже динамически изменяемое? Или парсер напишут?... ...подразумевается то, что и написано. пройтись по записям выборки и вызвать для каждой UPDATE-процедуру... что-то редко попадались если очень интересно, приведите более осязаемый пример... табличку, условия и пример кода, в котором бы вы это выполнили из СП да можно взять самый банальный пример. В товарах по заданному условию заменить значение категории товара. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 12:26 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafmdreviscrafm drevУ нас с Вами явно разные представления о data validation. Попытка противопоставить "проверку ввода и процедуры бизнес-логики" ясно это показывает. и не только со мной. Как уже говорил выше, есть понятие валидации , есть понятие верификации . Определений полно в интернете. Верификацию действительно делают на клиенте. Валидацию тоже конечно можно, если система для монопольного использования. Вау, чем дальше в лес.. ОК, читаем здесь : http://msdn.microsoft.com/en-us/library/aa291820(VS.71).aspx 1. "One of the simplest forms of data validation is verifying the data type." 2. "This kind of complex multifile data validation is often best handled with procedure-based business rules." Так понятно? а сами поняли? Вы привели выдержку в которой написано, что: 1. простейшей формой валидации является верификация соответствия типов данных 2. комплексная валидация выполняется при помощи процедур бизнес-логики я, в общем-то, об этом и говорю. Есть верификация, есть валидация. Что должно быть понятно? Я-то понял:) Может Вы не будете "лезть с ножом на паровоз"? (с) Макаренко. В фразах "Верификацию действительно делают на клиенте. Валидацию тоже конечно можно, если система для монопольного использования." - ключевое слово - "тоже". Из его использование вытекает, что понятие "верификация" не пересекается с понятием "валидация". Что противоречит высказыванию " простейшей формой валидации является верификация .." Далее, Вы согласны наконец, что "процедур бизнес-логики" все-таки имеют отношение к "валидации"? Великолепно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 12:53 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Кифирчикразместив это в хранимой процедуре и залочив нужные таблицы,А что мешает "залочить нужные таблицы", разместив код в СП? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 12:56 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
drevВ фразах "Верификацию действительно делают на клиенте. Валидацию тоже конечно можно, если система для монопольного использования." - ключевое слово - "тоже". Из его использование вытекает, что понятие "верификация" не пересекается с понятием "валидация". Что противоречит высказыванию " простейшей формой валидации является верификация .." верификация=проверка валидация=проверка+утверждение что с чем вступает в противоречие - непонятно. Валидацию действительно можно сделать на клиенте, если работать в режиме монопольного доступа. Вы о чем собственно? Особенно про нижи и паровозы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 13:11 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
drev Далее, Вы согласны наконец, что "процедур бизнес-логики" все-таки имеют отношение к "валидации"? "согласен наконец-то" говорят когда с чем-то был не согласен, а потом согласился. Естественно процедуры бизнес-логики имеют отношение к валидации. Именно с их помощью выполняется авторизация платежных транзакций, резервирование билетов, списание товара со склада и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 13:15 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafmdrevВ фразах "Верификацию действительно делают на клиенте. Валидацию тоже конечно можно, если система для монопольного использования." - ключевое слово - "тоже". Из его использование вытекает, что понятие "верификация" не пересекается с понятием "валидация". Что противоречит высказыванию " простейшей формой валидации является верификация .." верификация=проверка валидация=проверка+утверждение что с чем вступает в противоречие - непонятно. Валидацию действительно можно сделать на клиенте, если работать в режиме монопольного доступа. Вы о чем собственно? Особенно про нижи и паровозы... Ок, проверка, что значение входит в границы диапазона, это валидация или верификация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 13:21 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
drevпроверка, что значение входит в границы диапазона, это валидация или верификация? верификация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 13:26 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafmда можно взять самый банальный пример. В товарах по заданному условию заменить значение категории товара. ну... я думал вы покажете сложное условие с переменным колличеством параметров Bogdanov AndreyА что мешает "залочить нужные таблицы", разместив код в СП? :) ух... действительно... лочить из клиента, с хинтами... покажите пример, перепишите на СП ту процедуру, которую я привел в пример... хотябы примерно.. на знакомо вам языке мне правда очень интересно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2010, 13:27 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36487296&tid=1542824]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 435ms |

| 0 / 0 |
