2013-03-25 2 views
0

Я смотрю примерное решение ProjectTracker CSLA и имеет проекты для реализации DAL, EF DAL и проекта для бизнес-объектов/правил и т. Д.CSLA: действительно ли много отдельных проектов?

Я понимаю, что хорошая практика заключается в разделении логических разделов на проекты, покупка моей озабоченности - действительно ли проблема заключается в том, чтобы DAL и EF были объединены в бизнес-сборку?

Кажется, что время сборки больше всего зависит от количества проектов.

Приложение, над которым я работаю, вероятно, будет иметь 18 или более проектов, если я последую примеру макета.

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

Спасибо.

ответ

4

Рекомендуется несколько проектов, которые необходимы для полного использования CSLA и его n-уровневой архитектуры.

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

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

Это хорошая идея? №

Будет ли это работать? Да.

1

Чтобы ответить на вопрос Роки, компания, в которой я работаю, использует CSLA, и у нас первоначально был весь код DAL в наших бизнес-классах. Мы были на Oracle 10g в качестве наших dbms в то время, но хотели переключиться на SQL Azure (и у нас были довольно большие изменения в системе и изменения схемы одновременно). Таким образом, мы сделали следующее:

  • Реализовать интерфейс DAL как проект
  • Реализации 2 DAL проектов, по одному для Oracle и SQL (на самом деле 3 ж/макет дБ, но это было больше для доказательства концепция)

Это позволяет протестировать преобразование в обеих базах одновременно. Если бы мы начали с проекта DAL для начала, это было бы намного легче выполнить.

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