2011-01-11 4 views
0

Я создаю веб-приложение ASP, и на данный момент у меня есть пространство имен, называемое Queries, которое содержит запросы linq, вызываемые из кода за страницами. Весь сайт первоначально будет содержать около 40 запросов; больше будет добавлено позже.шаблоны проектирования linq

Должен ли я хранить все свои запросы в одном большом пространстве имен или я должен создать пространство имен для запросов каждой страницы? Например, QueriesPageA, QueriesPageB, QueriesPageC ... и заканчиваются примерно 10 меньшими пространствами имен.

Спасибо.

ответ

0

Похоже, вы строите business logic layer.

Если вы используете LINQ to SQL или Entity Framework, у вас уже будет коллекция классов сущностей, которые будут точно представлять ваш бизнес-домен.

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

Если запрос создает агрегат или отчет (например, количество проданных файлов, сгруппированных по году), я обычно создаю новый класс для отчета. Таким образом, отчет становится самостоятельной моделью, которая хорошо работает в архитектуре MVC, если это то, что вы рассматриваете.

0

Я думаю, что их разделение является хорошей идеей, но было бы более читаемым и менее запутанным создавать пространства имен на основе данных, которые они возвращают, вместо страницы, из которой они первоначально использовались, например. MyApp.Queries.Customers, MyApp.Queries.Orders.

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