Frage

Was sind die Vor- und Nachteile der DTOs von einer Website Performance Perspektive? (Ich bin in dem Fall sprechen, wo die Datenbank auf einem anderen Applikationsserver auf den Webserver zugegriffen wird -. Und der Web-Server direkt auf die Datenbank zugreifen kann)

War es hilfreich?

Lösung

DTO ist keine Leistung betreffen. Ich denke, was Sie fragen, über die Auswirkungen auf die Leistung von Tiering ist. Insbesondere unter Verwendung einer Anwendungsebene zwischen Ihrem Web-Tiere (Web-Server) und Datenebene (Datenbankserver).

Im Allgemeinen sind die Auswirkungen sind, dass Latenz erhöht wird (Sie haben zusätzliche Netzwerk-Roundtrips), aber Sie einige zusätzliche Kapazität gewinnen, indem die Last auf Maschinen aufgeteilt wird.

Ein weiterer häufiger Grund (wieder, Nichterfüllung), dass die Menschen das tun würden, ist, ihnen zu erlauben, den Web-Server in der DMZ zu platzieren, während die Anwendung und Datenbank-Server innerhalb der Firewall zu halten.

Ein weiterer möglicher Grund (Nichterfüllung) ist die Fähigkeit, mehrere UIs auf einer einzigen Anwendung zu stopfen. Ich habe dies mit sehr guten Ergebnissen bei vorangegangenen Projekten gemacht (wo das Geschäft benötigt es).

Auch nicht zu unterschätzen die Arbeit erforderlich, um eine Architektur dieser Art zu halten. Es ist mehr Arbeit als eine nicht-abgestuftes Lösung, so dass es nur verwenden, wenn Sie es vorwegnehmen zu müssen.

Dass gesagt wird, ist die Verwendung von DTOs nicht die Verwendung von Tiering erforderlich machen.

Die beste Beschreibung, die ich von Tiering gefunden habe, stammt von Martin Fowler Buch Analysis Patterns. Es gibt einen kleinen Abschnitt in der Rückseite auf Anfrage Fassaden und Tiering.

Sie einfach die vorherige Antwort zu wiederholen, DTOs sind keine Leistung betreffen. Es ist nur eine Klasse ohne Methoden Isolierung zwischen den verschiedenen Teilen Ihrer Anwendung zur Verfügung zu stellen.

Ich würde auch vorschlagen, Martin anderes Buch, Patterns of Enterprise Application Architecture Abholung. Das DTO "Muster" wird dokumentiert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top