Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Нужны ли DTO?  [new]
T87
Member

Откуда:
Сообщений: 169
Привет!

Много где встречаю использование DTO-классов над классами сущностей EF, причем используется AutoMapper и классы чуть ли не один в один похожи. Собственно вопрос, для чего нужны дополнительные DTO'шки? Почему нельзя использовать просто классы EF?

P.S.: просьба без срача у кого круче проект, контора и длиннее детородный орган...
28 май 16, 17:28    [19231118]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
T87
Member

Откуда:
Сообщений: 169
Да, еще поверх всего этого ViewModels. По мне так просто ViewModel достаточно
28 май 16, 17:33    [19231124]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
Monochromatique
Member [заблокирован]

Откуда:
Сообщений: 1936
T87
P.S.: просьба без срача у кого круче проект, контора и длиннее детородный орган...


Задушил обсуждение на корню.
29 май 16, 01:21    [19232115]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21990
T87
для чего нужны дополнительные DTO'шки? Почему нельзя использовать просто классы EF?
кратко - для введения дополнительного слоя абстракции. В маленьком проекте, где не предполагается серьезное развитие, можно классы EF хоть в качестве ViewModel-ей использовать.
29 май 16, 01:35    [19232123]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28166
T87, мы не используем EF. Отсюда вопрос: что такое классы сущностей EF? Какое место в архитектуре они занимают?
29 май 16, 10:03    [19232245]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
T87
Member

Откуда:
Сообщений: 169
skyANA
T87, мы не используем EF. Отсюда вопрос: что такое классы сущностей EF? Какое место в архитектуре они занимают?

ОК, пусть это будут классы сущностей в БД. Т.е. это классы, в которые получаются данные из БД.
29 май 16, 12:37    [19232385]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28166
T87, хм, а что Вы тогда называете DTO?

Я вот это: http://www.design-pattern.ru/patterns/data-transfer-object.html
29 май 16, 13:58    [19232513]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
hVostt
Member

Откуда:
Сообщений: 18578
T87
Почему нельзя использовать просто классы EF?


Потому что классы (сущности) EF с их ленивыми навигационными сущностями при банальной сериализации в XML/JSON могут запросто потянуть за собой внушительную часть базы данных, чего вряд ли хотелось бы разработчику. Ну а ещё там часто содержат техническую информацию и атрибуты безопасности, чего соверешенно точно не нужно протаскивать в прикладной код. Кроме того, если передавать данные в классах EF, то забудьте про подзапросы, вычисляемые на лету данные, склейку, нормальный пейджинг, также вам придётся поиметь проблем с большим количеством реальных запросов, в то время как вам кажется, что работаете с одной коллекцией. И очень сильно потеряете в гибкости. Возможность рефакторинга БД -- это то, от чего придётся практически отказаться. Также придётся прибить себя гвоздями к EF, и если вам захотелось часть данных вынести по какой-то причине в другую СУБД, не потеряв универсальности, связности и в удобстве -- придётся об этом забыть.

А DTO позволяют всё это решить, обезопасить себя и данные, получить необходимую гибкость без потери производительности (даже вовсе наоборот), ну и много чего такого прочего.

Если у вас в проекте почти все DTO это 1-в-1 классы EF, то скорее всего у вас очень простой проект, и возможно DTO вам не особо нужны.. Но это пока. Рекомендую делать всё сразу правильно и грамотно. Не потеряете, но приобретёте.
30 май 16, 17:05    [19237267]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
hVostt
Member

Откуда:
Сообщений: 18578
skyANA
Отсюда вопрос: что такое классы сущностей EF? Какое место в архитектуре они занимают?


Ну что ты опять троллишь :)
30 май 16, 17:06    [19237277]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28166
hVostt
skyANA
Отсюда вопрос: что такое классы сущностей EF? Какое место в архитектуре они занимают?


Ну что ты опять троллишь :)

Троллишь тут ты. А я задал пару вопросов, чтобы лучше понять человека.
31 май 16, 07:08    [19238780]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
hVostt
Member

Откуда:
Сообщений: 18578
skyANA
Троллишь тут ты. А я задал пару вопросов, чтобы лучше понять человека.


Не мне конечно судить, но если ты не знаешь что такое EF, как он устроен, как работает, как им пользоваться, что такое классы сущностей в EF, то какой смысл в твои вопросах? Загугли.
31 май 16, 16:34    [19242024]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
T87
Member

Откуда:
Сообщений: 169
hVostt
T87
Почему нельзя использовать просто классы EF?


Потому что классы (сущности) EF с их ленивыми навигационными сущностями при банальной сериализации в XML/JSON могут запросто потянуть за собой внушительную часть базы данных, чего вряд ли хотелось бы разработчику. Ну а ещё там часто содержат техническую информацию и атрибуты безопасности, чего соверешенно точно не нужно протаскивать в прикладной код. Кроме того, если передавать данные в классах EF, то забудьте про подзапросы, вычисляемые на лету данные, склейку, нормальный пейджинг, также вам придётся поиметь проблем с большим количеством реальных запросов, в то время как вам кажется, что работаете с одной коллекцией. И очень сильно потеряете в гибкости. Возможность рефакторинга БД -- это то, от чего придётся практически отказаться. Также придётся прибить себя гвоздями к EF, и если вам захотелось часть данных вынести по какой-то причине в другую СУБД, не потеряв универсальности, связности и в удобстве -- придётся об этом забыть.

А DTO позволяют всё это решить, обезопасить себя и данные, получить необходимую гибкость без потери производительности (даже вовсе наоборот), ну и много чего такого прочего.

Если у вас в проекте почти все DTO это 1-в-1 классы EF, то скорее всего у вас очень простой проект, и возможно DTO вам не особо нужны.. Но это пока. Рекомендую делать всё сразу правильно и грамотно. Не потеряете, но приобретёте.

Спасибо! Развеяли мои сомнения.
1 июн 16, 09:20    [19244028]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28166
hVostt
skyANA
Троллишь тут ты. А я задал пару вопросов, чтобы лучше понять человека.


Не мне конечно судить, но если ты не знаешь что такое EF, как он устроен, как работает, как им пользоваться, что такое классы сущностей в EF, то какой смысл в твои вопросах? Загугли.

Смысл прямой. Заключается в том, чтобы человек задумался.
1 июн 16, 21:07    [19247686]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
hVostt
Member

Откуда:
Сообщений: 18578
skyANA
Смысл прямой. Заключается в том, чтобы человек задумался.


Раз человек пришёл сюда с такими вопросами, он уже задумался. А ты ему в ответ задаёшь те же самые вопросы, только иначе сформулированные. Зачем? Я не вижу другого объяснения, кроме как троллинг.
2 июн 16, 09:36    [19248473]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28166
hVostt
skyANA
Смысл прямой. Заключается в том, чтобы человек задумался.


Раз человек пришёл сюда с такими вопросами, он уже задумался. А ты ему в ответ задаёшь те же самые вопросы, только иначе сформулированные. Зачем? Я не вижу другого объяснения, кроме как троллинг.

Ну что тут скажешь. Каждый человек искажает информацию по своему. Многие к примеру называют это коучинг: когда ты не объясняешь как учитель, а задаёшь наводящие вопросы.
2 июн 16, 11:50    [19249156]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
hVostt
Member

Откуда:
Сообщений: 18578
skyANA
Ну что тут скажешь. Каждый человек искажает информацию по своему. Многие к примеру называют это коучинг: когда ты не объясняешь как учитель, а задаёшь наводящие вопросы.


Ну давай посмотрим как это называется:

T87
Много где встречаю использование DTO-классов над классами сущностей EF, причем используется AutoMapper и классы чуть ли не один в один похожи. Собственно вопрос, для чего нужны дополнительные DTO'шки? Почему нельзя использовать просто классы EF?
skyANA
T87, мы не используем EF. Отсюда вопрос: что такое классы сущностей EF? Какое место в архитектуре они занимают?
skyANA
T87, хм, а что Вы тогда называете DTO?


Перефразирую:

— Много где встречаю, как люди едят картошку с хлебом.., зачем люди едят картошку? Почему нельзя есть просто хлеб?
— Мы не едим хлеб. Что такое хлеб? Какое место в твоей жизни занимает хлеб?.. — А что вы называете картошкой? Я вот это (ссыль на гугл картинки)

Иногда действительно трудно перепутать коучинг с бредом
2 июн 16, 12:51    [19249537]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28166
hVostt
skyANA
Ну что тут скажешь. Каждый человек искажает информацию по своему. Многие к примеру называют это коучинг: когда ты не объясняешь как учитель, а задаёшь наводящие вопросы.


Ну давай посмотрим как это называется:

T87
Много где встречаю использование DTO-классов над классами сущностей EF, причем используется AutoMapper и классы чуть ли не один в один похожи. Собственно вопрос, для чего нужны дополнительные DTO'шки? Почему нельзя использовать просто классы EF?
skyANA
T87, мы не используем EF. Отсюда вопрос: что такое классы сущностей EF? Какое место в архитектуре они занимают?
skyANA
T87, хм, а что Вы тогда называете DTO?


Перефразирую:

— Много где встречаю, как люди едят картошку с хлебом.., зачем люди едят картошку? Почему нельзя есть просто хлеб?
— Мы не едим хлеб. Что такое хлеб? Какое место в твоей жизни занимает хлеб?.. — А что вы называете картошкой? Я вот это (ссыль на гугл картинки)

Иногда действительно трудно перепутать коучинг с бредом

Виже тебе не трудно превратить что-либо в бред :) Вопрос: зачем оно тебе?
2 июн 16, 13:25    [19249796]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
hVostt
Member

Откуда:
Сообщений: 18578
skyANA
Виже тебе не трудно превратить что-либо в бред :) Вопрос: зачем оно тебе?


Т.е. я виноват в том, что ты бредишь?

Жжошь.
2 июн 16, 13:26    [19249807]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28166
hVostt
skyANA
Виже тебе не трудно превратить что-либо в бред :) Вопрос: зачем оно тебе?


Т.е. я виноват в том, что ты бредишь?

Жжошь.

Вот опять тебе это удалось :)
2 июн 16, 13:27    [19249819]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28166
hVostt, я тебе вроде уже объяснил, но ты всё равно придерживаешься своей интерпретации. Тут я ничего не могу поделать, пока ты не захочешь понять мою сторону.
2 июн 16, 13:29    [19249833]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
hVostt
Member

Откуда:
Сообщений: 18578
skyANA
hVostt, я тебе вроде уже объяснил, но ты всё равно придерживаешься своей интерпретации. Тут я ничего не могу поделать, пока ты не захочешь понять мою сторону.


Знаешь, можно курить и придерживаться идеи, что курение это зло и вообще за это надо сажать

Я поддерживаю твою сторону, задавать наводящие вопросы — отличный метод помощи, гораздо эффективней, чем подавать всё на блюдечке. Но здесь, на форуме, много людей часто находят ответы на похожие вопросы. Чем твои бред-наводки им помогут, лично я не знаю.
2 июн 16, 13:38    [19249906]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28166
hVostt
skyANA
hVostt, я тебе вроде уже объяснил, но ты всё равно придерживаешься своей интерпретации. Тут я ничего не могу поделать, пока ты не захочешь понять мою сторону.


Знаешь, можно курить и придерживаться идеи, что курение это зло и вообще за это надо сажать

Я поддерживаю твою сторону, задавать наводящие вопросы — отличный метод помощи, гораздо эффективней, чем подавать всё на блюдечке. Но здесь, на форуме, много людей часто находят ответы на похожие вопросы. Чем твои бред-наводки им помогут, лично я не знаю.

И снова толсто :) Вообщем давай оставим всё как есть. Я буду задавать наводящие вопросы, а ты будешь подавать всё на блюдечке.
2 июн 16, 13:52    [19250025]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
hVostt
Member

Откуда:
Сообщений: 18578
skyANA
И снова толсто :) Вообщем давай оставим всё как есть. Я буду задавать наводящие вопросы, а ты будешь подавать всё на блюдечке.


Задавай наводищие вопросы, кто мешает-то? Но твои вопросы в этом треде наводящими не являются, это бессвязный бред. Хотя ты можешь называть их как тебе угодно :)
2 июн 16, 15:36    [19250681]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
Axeleron
Member

Откуда: London
Сообщений: 7531
Ребята, посраться третьего возьмете?
2 июн 16, 15:38    [19250696]     Ответить | Цитировать Сообщить модератору
 Re: Нужны ли DTO?  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21990
Axeleron,

Главное, автор отписался, что ему все понятно! )
2 июн 16, 16:03    [19250850]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить