Результаты поиска по запросу "business-logic"

10 ответов

MVC: Где поставить бизнес-логику?

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

17 ответов

Мое эмпирическое правило (как только я понял, что это было, подумав о вопросе), заключается в том, что хранимые процедуры должны содержать код, который обеспечивает целостность данных в базе данных, запрещает ли хранимая процедура определенную вставку, удаление или изменение данных, или делает другие изменения необходимыми для согласованности данных. Бизнес-логика, особенно логика, которая не может быть реализована в нескольких операциях на основе множеств, должна быть реализована в другом месте. Базы данных не являются приложениями. Базы данных должны быть окончательным авторитетом для отношений и ограничений, даже если бизнес-правила также реализованы где-то еще, например, для обеспечения обратной связи в коде пользовательского интерфейса, который уменьшает обратные передачи с веб-сервера или устраняет ненужные попадания на занятый сервер. Можно спорить о том, включает ли «согласованность данных» результат сложной обработки сложных бизнес-правил, но я думаю, что обычно это становится понятным после понимания контекста. Не все бизнес-правила реализованы в виде отношений или ограничений данных. Не все операции в хранимой процедуре выполняются быстрее, чем код, выполняемый в отдельном процессе, даже в процессе, запущенном на отдельной машине в сети. Недавно я провел демонстрацию, показывающую, что многие операции в SSIS, например, (INSERT INTO () SELECT FROM), выполняются быстрее в SSIS, работающем по сети на отдельном компьютере, чем в хранимой процедуре (которая также вставляет результаты в базу данных). через сеть). Это почти невероятный результат (где SSIS работает быстрее, чем необработанные операторы SQL), и демонстрирует, что обнаружение наилучшей оптимизации любых проблем производительности происходит из реальности (тестирование), а не из логики, основанной только на нескольких концепциях. (Мы все еще должны принять решение о том, что тестировать, исходя из практического опыта.) (SSIS быстрее выполнялся за счет автоматической реализации многопоточности и конвейеров, использования BULK INSERT даже там, где это не было указано в необработанном операторе SQL, и отправки пакетов вставок в одном потоке при создании дополнительных BULK INSERT в других потоках. В этом случае он выполнялся примерно в два раза быстрее, чем необработанные операторы SQL.) Когда я использовал для обучения программированию и курсам SQL Server, пользователи PowerBuilder, казалось, имели выражение «Native» Драйверы обеспечивают самый быстрый доступ к данным, «прожженный на их языке», и, хотя это может быть оправдано дополнительными (не признаваемыми ими) объяснениями, мысль об этом вводит в заблуждение.

ы аргументы за и против бизнес-логики в хранимых процедурах?

4 ответа

Так вы бы использовали один из упомянутых мной подходов или что-то другое?

сь понять дизайн, управляемый доменом, я продолжаю возвращаться к вопросу, на который я не могу дать окончательного ответа. Как вы определяете, какая логика принадлежит сущности Домена, а какая логика принадлежит Службе домена? Пример: у нас ...

ТОП публикаций

2 ответа

DAO связываются с веб-сервисами. DAO - это просто шаблон - объект, который извлекает другой объект, поэтому для них так же правильно подключаться к базе данных SQL, как и к веб-службе.

даю веб-приложение MVC (с использованием среды Spring MVC), и я немного озадачен лучшим способом проектирования конкретной области. Приложение должно взаимодействовать с серией веб-сервисов, которые на самом деле не очень хорошо разработаны, и ...

1 ответ

, как показано во фрагменте ниже (выполните его, чтобы увидеть, как первый div совпадает, а второй нет).

ужно, чтобы получить значениеcontent атрибут определенногоmeta тег. var someContent = $("meta[name=someKindOfId]").attr("content");как я обычно это делаю. По деловым причинам,someKindOfId может бытьsomekindofid, Это могут быть и другие ...

4 ответа

Таким образом, у вас никогда не будет недопустимого значения. Это, и вы никогда не должны изменять информацию пользователя. Что если пользователь добавляет запись в базу данных и отслеживает ее для своих собственных записей? Ваш код переназначит значение по умолчанию, и теперь он отслеживает неверную информацию. Лучше сообщить пользователю как можно скорее.

отрим следующий код: partial class OurBusinessObject { partial void OnOurPropertyChanged() { if(ValidateOurProperty(this.OurProperty) == false) { this.OurProperty = OurBusinessObject.Default.OurProperty; } } }То есть, когда ...

2 ответа

Symfony2 / Doctrine, нужно ли поместить бизнес-логику в мой контроллер? А дублирующий контроллер?

У меня есть несколько сложный механизм ценообразования в моем приложении. Вот некоторые из моих бизнес-правил, чтобы подготовить почву (жирный шрифт): A Продуктможет иметь уникальныйЦена очковдля данногоПокупатель, Веб-сайт, или же Группа ...

6 ответов

Какой шаблон / шаблоны лучше всего подходят для разработки механизма правил / принятия решений [закрыто]

Я работаю над механизмом принятия решений / механизмом оценки правил. Например: Входные данные: клиент и все преступления, совершенные клиентом Вывод: последствия правонарушений Пример случая будет: Входные данные: Заказчик (Джонни Чимпо, ...

12 ответов

Почему это называется «бизнес-логика»? Откуда появился этот термин?

Я просматриваю все виды документации WPF и чувствую себя излишне смущенной. Термин «бизнес-логика» разбросан по всему этому, как будто каждый должен знать, что это такое. По этому вопросу я вижу, что такое бизнес-логика:Что именно состоит ...

1 ответ

Symfony2: лучший подход к использованию бизнес-логики (хранилища) в сущности или контроллере

У меня возникла проблема с дизайном в моем проекте, связанная с тем, где находится некоторая бизнес-логика. У меня есть три объекта: Event, TicketOrder и Ticket. У одного события есть много билетов, а у одного - много билетов. В моем шаблоне я ...