ASP.NET.Лучше передать всю сущность методу или передать каждое свойство этой сущности в качестве параметров? - PullRequest
0 голосов
/ 14 октября 2010

Мы разрабатываем бизнес-приложение ASP.NET.Лучше передать всю сущность методу или передать каждое свойство этой сущности в качестве параметров?Какова лучшая практика?Вариант 1. Передача сущности Customer управляющему - InsertCustomer (Customer cust). Случай 2. Передача каждого свойства в качестве параметра - InsertCustomer (имя строки, адрес строки и т. Д.)

PS Мы используем Entity Frameworkкак наш слой доступа к данным

Ответы [ 3 ]

3 голосов
/ 14 октября 2010

Передайте всю сущность, не только по причинам, указанным в других ответах, но обычно методы с длинными цепочками параметров плохие.Они подвержены ошибкам и трудны для работы с точки зрения разработки (просто посмотрите на Interop with Office)

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

1 голос
/ 14 октября 2010

Вся концепция ориентации объекта требует передачи объектов. Если бы все происходило внутри, я бы пошел с этим.

Если это публикуется в веб-сервисе / по сети и т. Д., Вам нужно будет сериализоваться, и, следовательно, может оказаться целесообразным передавать каждый отдельный параметр, особенно если принимающая среда отличается.

Не забывайте, что ваши строки и т. Д. Тоже все объекты.

Я согласен с другим постером, передавая всю сущность, «инкапсулируя» все, чтобы ее можно было обновлять / модифицировать, чтобы вам было меньше о чем беспокоиться.

1 голос
/ 14 октября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...