2008-09-18 5 views
2

Каковы преимущества и недостатки DTO с точки зрения производительности веб-сайта? (Я говорю в случае, когда база данных обращается на другом сервере приложений к веб-серверу, и веб-сервер может напрямую обращаться к базе данных.)Каковы преимущества и недостатки DTO с точки зрения производительности веб-сайта?

+0

Что означает DTO? – GateKiller

+0

Объект передачи данных –

ответ

3

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

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

Еще одна распространенная причина (опять же, невыполнение), что люди сделают это, чтобы позволить им размещать веб-сервер в DMZ, сохраняя при этом сервер приложений и баз данных внутри брандмауэра.

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

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

Это говорит о том, что использование DTO не требует использования Tiering.

Лучшее описание, которое я нашел, касается книги Мартина Фаулера «Анализ шаблонов». В задней части корпуса есть небольшая секция на фасадах приложений и многоуровневом уровне.

Чтобы повторить предыдущий ответ, DTO не относятся к производительности. Это просто класс без методов, используемых для обеспечения изоляции между различными частями вашего приложения.

Я также предложил бы собрать другую книгу Мартина «Шаблоны архитектуры корпоративного приложения». Там документируется «шаблон» DTO.