2012-07-19 4 views
0

У меня есть отчет, содержащий около 5 полей для ввода данных или выбора элементов из раскрывающегося списка. Обычно у меня есть класс контроллера, который проверяет ввод и определяет, какой метод DAO использовать. Однако с большим количеством полей ввода или выбора это означает, что это приведет к раздутому методу контроллера. Другой вариант - создать запрос из ввода, но я думаю, что он делает запросы трудными для чтения/отладки. Есть ли альтернативы или какой из них лучше? Я не знаю, как реализовать оба, я сосредоточен на дизайне.Подтверждение ввода отчета

EDIT:

Пример в C# с использованием структуры Сущности и Linq:

Должен ли стать & & ((STARTDATE = DateTime.MinValue) d.MinDay> = STARTDATE:? Истина) или это плохая практика?

List<Order> orderList = (from o in dbContext.Order 
              join d in dbContext.DeliveryDetails on o.DeliveryID equals d.DeliveryID 
              join od in dbContext.OrderDeals on o.OrderID equals od.OrderID           
              where o.UserID == user.UserID 
              && ((startDate != DateTime.MinValue) ? d.MinDay>=startDate : true) 
              && ((endDate != DateTime.MinValue) ? d.MaxDay<=endDate : true) 
              select o).Distinct().ToList(); 
        return orderList; 

ответ

1

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

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