Объекты или значения в качестве параметров для моего сервиса / слоя данных - PullRequest
2 голосов
/ 31 января 2011

Я проектирую это приложение ASP.NET как трехуровневую систему.Сервисный уровень, уровень данных и пользовательский интерфейс.Я также использую POCOS в слое сервиса, правильно сопоставленном с моей схемой данных.Мой уровень данных соответствует шаблону репозитория.

Мой вопрос таков: должен ли я использовать свои доменные объекты в качестве параметров для своих методов в своем слое обслуживания / слое данных или просто сгладить все свойства.Какова лучшая практика здесь:

это:

public void AddProduct(ProductDTO newProduct)

или:

public void AddProduct(string ProductName, int Category)

У меня сложилось впечатление, что первое лучше, проблема в том, что ObjectDataSourceэто не очень хорошо, есть ли альтернатива привязке данных к вашим объектам, которая работает при первом подходе, или мне придется использовать ручное связывание.

1 Ответ

4 голосов
/ 31 января 2011

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

При использовании DTO вам нужно только изменить / обновить вызов иВызовите метод и подумайте о количестве параметров, которые вам нужно будет передать.

...