2012-03-15 3 views
2

Предположим, у вас есть веб-приложение, в котором на основании введенных вами номеров вы дадите ему еще один номер (более упрощенный), когда он нажимает кнопку. Все данные хранятся на сервере SQL. Теперь я могу получить все необходимые данные на уровне доступа к бизнесу и выполнить там расчет. Или сделайте подсчет в базе данных сохраненной proc и отправьте результат в приложение. Я сильно предпочитаю последнее, потому что мне это намного легче. Но некоторые люди могут утверждать, что вся бизнес-логика должна лежать на бизнес-уровне в приложении. Я чувствую, что в приложении есть какая-то бизнес-логика, она принадлежит бизнес-слою. Но вам не обязательно иметь деловую логику, связанную с данными, в приложении.Бизнес-уровень в приложении asp.net

Что рекомендуют эксперты?

ответ

2

Если я могу перефразировать ваш вопрос, я думаю, вы спрашиваете: «Должен ли я помещать свою бизнес-логику в tsql или C#?»

Лично я настоятельно рекомендую C# (или vb.net, если это то, что вы используете). Как инструмент программирования, он дает вам гораздо больше энергии, чем tsql. И когда я говорю о силе, я имею в виду способность писать простой для понимания, логичный, хорошо организованный самодокументирующий код, который, что более важно, легко поддерживать. Объектно-ориентированные методы, такие как абстрактные классы и интерфейсы, позволяют создавать не только многократно используемые фрагменты кода, но и позволяют применять бизнес-логику, которая легко отслеживается. Это может быть смоделировано с сохраненными procs, но вы в конечном итоге прыгаете через обручи для его реализации, а затем трассируете его, когда есть проблемы.

Репозитории кода также построены для интеграции с VS гораздо легче, чем SQLserver, а также для управления изменениями или даже для локального улучшения среды разработки более сложным, когда объекты сосредоточены на базе данных, которая слишком велика для запуска локально, а не обновления разработчик локальной рабочей копии кода C#.

Конечно, в одном сценарии разработчика, когда никто больше не будет работать над этим приложением, соображения по сотрудничеству и управлению изменениями бледны по сравнению с комфортом разработчика с tsql и любым другим инструментом.

И, наконец, только потому, что C# предоставляет богатые языковые возможности, не каждый использует их. Я могу (и есть !!) написать метод 1000 строк C# так же легко, как я могу написать 1000 строк, хранящихся в proc.

Надеюсь, что это поможет, Lawrence

1

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

 Смежные вопросы

  • Нет связанных вопросов^_^