Разработка бизнес логики что это

В качестве альтернативы можно напрямую взаимодействовать с базой данных (без использования объекта DataSet). В этой модели, используется объект DataCommand, который содержит SQL-запрос или ссылку на хранимую процедуру. При запуске команды на исполнение над таблицами базы данных выполняются определенные действия (выборка данных, добавление, удаление или обновление записей). Если команда возвращает набор записей (в SQL-запросе используется предложение select), то к ним можно получить доступ посредством объекта DataReader (в режиме только чтение).

Такая модель доступа к данным имеет следующие преимущества.

□ Высокая эффективность. Такие команды, как добавление, удаление записей выполняются непосредственно на уровне базы данных и не требуют передачи большого объема информации в приложение. Хранимые процедуры хранятся в базе данных в скомпилированном виде и не требуют ресурсов и времени для их компиляции и проверки синтаксиса.

□ Высокая степень контроля над данными. Используя команды, разработчик имеет прямой доступ к данным (без объектов посредников).

Что такое бизнес-логика? (на примере Django)

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

□ Уменьшение программного кода. При работе с объектом DataSet требуется программировать все процессы синхронизации таблиц набора данных в памяти компьютера с таблицами в базе данных. Например, после добавления записи в DataSet нужно выполнить эту операцию и в основном хранилище информации, кроме того, если в таблице есть поле типа «счетчик», то потребуется повторное считывание таблицы из основной базы данных в DataSet, чтобы передать приложению новое значение счетчика. При прямой работе с таблицами базы данных необходимость в программировании этих процессов отпадает.

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

При создании Web-приложений для доступа к данным рекомендуется использовать объекты DataCommand и DataReader. Поскольку страница Web-формы и содержащиеся на ней компоненты обновляются при каждом обращении пользователя к серверу, то использовать объект DataSet не эффективно, особенно если не предусмотрено его кэширование. Однако использование набора данных целесообразно при следующих обстоятельствах:

□ необходима одновременная работа с несколькими таблицами, или работа с таблицами, получаемыми от различных источников данных;

□ требуется обмен данными с другим приложением или компонентом типа XML Web-сервис;

□ требуется длительная работа с записями, которые были получены от базы данных. Если в этом случае использовать DataCommand и DataReader, то это потребует длительной поддержки открытого соединения, что может негативно сказаться на эффективности работы приложения (особенно, если с ним потенциально могут работать большое количество пользователей);

Почему в контроллерах не надо писать бизнес логику

□ если в приложении требуется обработка связанных таблиц;

□ если вы хотите использовать XML-формат для передачи или приема данных из другого приложения;

Читайте также:  Бизнес стендап что это

□ если во главу угла ставится простота программирования, а не эффективность работы приложения.

Источник: studopedia.su

Что именно состоит из «бизнес-логики» в приложении?

Я много раз слышал, что мы «не должны смешивать бизнес-логику с другим кодом» или подобными утверждениями. Я думаю, что каждый код, который я пишу (я имею в виду этапы обработки), состоит из логики, связанной с бизнес-требованиями.

Кто-нибудь может сказать мне, что именно состоит из бизнес-логики? Как его отличить от другого кода? Есть ли какой-нибудь простой тест, чтобы определить, что такое бизнес-логика, а что нет?

02.09.2008 15:40

Оператор pass в Python — это простая концепция, которую могут быстро освоить даже новички без опыта программирования.

Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции — это способ манипулировать массивами и играть с массивами данных. Благодаря.

Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний.

Все о массиве Dependency и его связи с useEffect.
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Ответ принят как подходящий

Просто определите, что вы делаете, на простом английском языке. Когда вы говорите что-то деловое, например «заставьте тех страдать», «украдите эти деньги», «уничтожьте эту часть земли», вы имеете в виду деловой уровень. Чтобы было понятно, здесь можно найти то, что вас волнует.

Когда вы говорите «покажите это здесь», «не показывайте это», «сделайте это красивее», вы имеете в виду уровень представления. Это то, что вдохновляет ваших дизайнеров.

Когда вы говорите что-то вроде «сохранить», «получить из базы данных», «обновить», «удалить» и т. д., Вы имеете в виду уровень данных. Это вещи, которые говорят вам, что нужно сохранить навсегда любой ценой.

Это не так просто, как объяснил Серхат, имхо. Есть вещи, которые вы можете получить из базы данных и выполнить в памяти на бизнес-уровне, или вы можете сделать их полностью на уровне доступа к данным.

02.09.2008 15:43

Для меня «бизнес-логика» составляет все сущности, которые представляют данные, применимые к проблемной области, а также логику, которая решает, «что делать с данными».

Таким образом, он действительно должен состоять из «передачи данных» (не доступа) и «манипулирования данными». Фактически, доступ к данным (материал, попадающий в БД) должен быть на другом уровне, как и код представления.

02.09.2008 15:43

Если он содержит что-нибудь о таких вещах, как форма, кнопка и т. д., Это не бизнес-логика, это уровень представления. Если он содержит постоянство для файла или базы данных, это DAL. Все, что находится между ними, — это бизнес-логика. В действительности все, что не связано с пользовательским интерфейсом, иногда называют «бизнес-логикой», но это должно быть что-то, что касается проблемной области, а не домашнего хозяйства.

02.09.2008 15:46

Мне не нравятся имена слоев BLL + DAL, они больше сбивают с толку, чем поясняют. Назовите это DataServices и DataPersistence. Так будет проще.

Читайте также:  Размеры консоли на бизнес

Службы управляют, CRUD уровня сохраняемости (создание, чтение, обновление, удаление)

02.09.2008 15:51

Бизнес-логика — это чистая абстракция, она существует независимо от материализации / визуализации данных перед вашим пользователем и не зависит от постоянства базовых данных.

Например, в программном обеспечении для подготовки налогов одной из функций классов бизнес-логики будет расчет причитающегося налога. Они не будут нести ответственности за отображение отчетов или сохранение и получение налоговой декларации.

02.09.2008 15:53

Наверное, проще начать с того, что сказать, что такое бизнес-логика не. Доступ к базе данных или к диску не является бизнес-логикой. Пользовательский интерфейс — это не бизнес-логика. Сетевые коммуникации — это не бизнес-логика.

Для меня бизнес-логика — это правила, которые описывают, как работает бизнес, а не как работает архитектура программного обеспечения. Бизнес-логика также имеет тенденцию меняться. Например, это может быть бизнес-требованием, чтобы у каждого клиента была одна кредитная карта, связанная с его учетной записью. Это требование может измениться, и у клиентов будет несколько кредитных карт. Теоретически это должно быть просто изменением бизнес-логики, и другие части вашего программного обеспечения не пострадают.

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

Пуристы говорят, что бизнес-логика всегда должна быть полностью отдельной, и поэтому они даже будут против наличия таблиц с именами «Клиенты» или «Учетные записи» в базе данных. Если довести до крайности, вы получите невероятно универсальную систему, которую невозможно поддерживать.

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

Источник: reddeveloper.ru

Разработка высоконагруженных проектов

Разработка высоконагруженных проектов

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

Рано или поздно разработчику приходится заниматься или принимать участие в создании созданием высоконагруженного продукта: программы, сайта, сервиса, API и тому подобное. Проектирование масштабируемых архитектур является трудоемкой и важной вещью при разработке крупного проекта.

Подходы построения архитектуры приложения

Есть несколько подходов к построению архитектуры проектов: монолитные и сервисные архитектуры.

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

Сервисная архитектура — разделяет приложение на отдельные наборы компонентов, которые соединяются и взаимодействуют между собой. Каждый набор компонентов решает свои задачи. Разработка новых функций и поддержка существующих значительно упрощается у сервисной архитектуры.

Читайте также:  Бизнес дресс код в России

Подходы разработки высоконагруженных проектов

Разработку высоконагруженных и масштабируемых можно разделить на следующие подходы:

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

Плюсы подхода

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

Минусы подхода

  • долгая разработка и взаимосвязь всех сервисов
  • дорогие разработчики высокой квалификации для разработки и поддержки сервисов

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

Плюсы подхода

  • быстрота разработки, сервисы и бизнес-логика разрабатываются одновременно
  • эффективность в разработке приложения

Минусы подхода

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

Типы масштабирования приложений

Есть несколько типов масштабирования приложений:

  • вертикальное
  • горизонтальное
  • диагональное
  • по времени

Вертикальное масштабирование

Вертикальное масштабирование — это масштабирование приложения за счет увеличения мощности серверного оборудования.

Плюсы

  • Быстрое масштабирование приложения за счет покупки дополнительного оборудования для сервера: оперативной памяти, дополнительного диска.

Минусы

  • Может быть достигнут момент, когда вертикальное масштабирование уже нельзя проводить — нельзя постоянно покупать новое оборудование и устанавливать его для сервера.
  • Дорогая стоимость оборудования

Горизонтальное масштабирование

Горизонтальное масштабирование — это масштабирование приложения за счет покупки и подключения дополнительных серверов.

Плюсы

  • Очень быстрое масштабирование за счет покупки и подключения новых серверов

Минусы

  • Дорогая стоимость серверов

Диагональное масштабирование

Диагональное масштабирование — это масштабирование включает в себя два предыдущих типа: вертикальное и горизонтальное масштабирования.

Масштабирование во времени

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

Структура приложения

При создании приложения нужно позаботиться о ее правильной структуре. Более правильным решением будет разделение приложения на структуру состоящую из 3 компонентов:

  • область работы с бизнес-логикой
  • область отображения данных
  • область получения данных

Иными словами, это: frontend, backend, data storage.

Область работы с бизнес логикой отвечает за действия совершаемые пользователем и события происходящие в ответ на эти действия в приложении.

Область отображения данных отвечает за отображения визуальной информации, различных данных пользователю.

Область получения данных занимается манипуляцией с данными — получением их из базы данных и дальнейшая работа с этими данными.

Источник: unetway.com

Рейтинг
( Пока оценок нет )
Загрузка ...
Бизнес для женщин