2009-07-03 2 views
7

Ваш любимый инструмент разработки бизнес-логики (BLL)? Есть ли вообще?Ваш любимый инструмент разработки бизнес-логики (BLL) для .NET? Есть ли вообще?

BLL toolkit представляет собой набор классов (элементы управления, надстройки VS.NET), обрабатывающие типичные сценарии бизнес-логики. Например. внедрение контроля доступа, обеспечение проверки и т. д. Конечно, ИМХО.

ответ

8
+0

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

+0

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

0

Для меня Subsonic является лучшим BLL.

+4

Я только что просмотрел их ссылку API на subsonichelp.com и не нашел ничего, что связано с BLL. Кажется, это чисто ORM. Есть ли помощники BLL? –

+0

У Subsonic есть все компоненты, которые вы называете BLL. – pedrofernandes

+0

Какие именно? Любые ссылки? –

5

Мне интересно, что вы считаете BLL. Оба примера, которые вы указали, Контроль доступа и проверка, - это вещи, которые я обычно видел в других местах.

Я видел, что они реализованы либо на уровне презентации, либо на уровне обслуживания, обычном, скажем, веб-сервисами и веб-сайтами ui. Я вижу BLL , используя подсистему управления доступом, но не то, что управление доступом является частью BLL. У вас есть примеры этого?

То же самое с валидацией, в зависимости от того, что вы подразумеваете под «валидацией». Вы имеете в виду, «этот бизнес-объект передает все дело, которое он должен передать, учитывая его текущее состояние?» Или вы имели в виду проверку подлинности в стиле UI, убедившись, что алфавитные символы не вводятся в числовое поле?

Вы также указываете элементы управления, которые обычно считаются артефактами UI. Не могли бы вы дать более подробную информацию о том, что вы считаете BLL? Я также ценю любые ссылки на примеры того, что вы считаете BLL.


Исходя из ваших уточнений, я укажу вам на Enterprise Library из patterns and practices группы Microsoft. Некоторые из его компонентов:

  • Кэширование
  • Cryptography
  • доступа к данным
  • Exception Handling
  • Logging
  • политики Injection
  • безопасности
  • Unity - Dependency Injection
  • Подтверждение

Все это доступно в CodePlex как в исходном, так и в двоичном формате. Исходный код содержит подробные модульные тесты.

+0

Что касается проверки: я имею в виду рамки проверки, которые могут быть использованы для упрощения реализации валидации в BLL. В идеале, я бы предпочел описать большинство правил проверки декларативно, например. используя атрибуты. –

+0

Что касается контроля доступа: ну, это всего лишь пример типичной задачи. Я считаю, что это часть BLL, поскольку в логике обычно используются объекты Domain Model (например, Users & Roles); кроме того, существуют некоторые правила безопасности, которые могут быть специфичными для приложения. –

+1

@Alex: оба эти случая связаны с перекрестными приложениями. Они могут _use_ BLL, но они не в нем. Например, декларативная проверка может быть выполнена с помощью правил, которые ссылаются на объекты бизнес-уровня; но механизм правил не является частью BLL. –

5

Я лично предпочитаю, чтобы BLL был интегрирован с ORM, потому что я не вижу причин, по которым они разделены. Классический пример с модульным тестированием не является веским аргументом, так как я бы хотел проверить свою бизнес-логику с запросами (так как для меня они являются неотъемлемой частью бизнес-логики). С другой стороны, я не уверен, какие функции должен включать инструментарий бизнес-логики, возможно, я что-то пропустил.

p.s. Я использую DataObjects.Net как ORM и, очевидно, как инструмент разработки BLL.

0

Посмотрите на CSLA! Это поможет вам привести структуру в свою бо-иерархию.

1

Я указываю вас на ECO. Он зрелый и достиг версии 5. Он также бесплатный для неограниченного использования до 12 классов в модели. Рекомендуемые!