Я не мог найти аналогичный вопрос, и это может быть глупым вопросом, не уверен, я не мог понять, какие ключевые слова искать.Неправильно ли создавать объекты запроса и ответа в других функциях?
К примеру, у нас есть какая-то пара запрос/ответ для доступа к информации из базы данных (простите меня, используя VB .NET на работе, а не мой выбор, так что я просто оставаясь последовательным)
Public Class ItemAddRequest
Public param1 As String = ""
Public param2 As String = ""
End Class
Public Class ItemAddResponse
Public returnParameter As MyItemObject = ""
Public Function Invoke(req As ItemAddRequst)
' SQL Queries go here
' Build my returnParameter
End Function
End Class
Таким образом, они используются для переднего конца, чтобы получить информацию для отображения на переднем конце, но плохо ли использовать их где-то еще в вашем коде для единственной цели получения этой информации или добавления этой информации? Как правило, вы хотели бы модулировать (изобретенное слово) и использовать методы MyItemObject для этого, но у нас уже есть большая коллекция вещей, которые нужно будет изменить, чтобы мы этого не делали, по крайней мере пока. Так, например, мы делаем что-то вроде этого
Public Class ParentItemAddRequest
Public param1 As String = ""
Public param2 As String = ""
End Class
Public Class ParentItemAddResponse
Public returnParameter As MyParentItemObject = ""
Public Function Invoke(req As ParentItemAddRequest)
' SQL Query goes here to add parent
' Now also need to add a regular MyItemObject
Dim itemReq as new ItemAddRequest()
Dim itemResp as new ItemAddResponse()
itemReq.param1 = 'whatever
itemReq.param2 = 'whatever
itemResp.Invoke(itemReq)
me.returnParameter = itemResp.returnParameter
End Function
End Class
Doing это, кажется, работает хорошо, но какие проблемы мы могли anticpate вызвать? Или это вполне нормальная вещь? Кажется странным для нас. Спасибо за помощь.
Я относительно новичок в веб-сервисах (я младший в университете, работающий в кооперативе) и особенно новичок в .NET (используется Spring MVC на моей предыдущей стажировке), поэтому некоторые из моих описаний, безусловно, будут неясно, потому что то, что я пишу, основано на большом проекте, который уже существует. Спасибо за ваш ответ! – n8m8