Ich habe an einer .NET-Anwendung gearbeitet und einen Speicherfehler festgestellt (ich bin ein Java-Entwickler, der andere Dinge tun kann), ich habe über die Leistung nachgedacht. Was ich gepostet habe, war nicht das Speicherproblem. Das Gedächtnisproblem hat mich gerade zum Nachdenken gebracht.Best Practice für die Datenpopulation anzeigen?
Ich habe einen Trend in meiner ASP.NET-Anwendung wiederholt, die ich in unzähligen J2EE-Anwendungen verwendet habe: Verwenden von Business Entities zum Auffüllen von Dropdown-Listen. Je mehr ich darüber nachdenke, desto mehr mag ich es nicht. Zum Beispiel haben wir in der App, an der ich arbeite, eine Dropdown-Liste mit aktuellen Projekten. Ein Projekt ist ein Graph von Objekten. Um die Liste zu erstellen, ziehen wir jedoch alle Projekte zurück, erstellen das Diagramm und verwenden nur die ID und den Anzeigenamen. Dies scheint eine schreckliche Verschwendung zu sein. Um fair zu sein, ist die Dal-Schicht vollständig von Hand geschrieben. Der Hauptarchitekt würde kein ORM wie NHibernate erlauben.
Ich merke, dass alle diese Objekte in GEN0 sind und schnell Müll gesammelt. Was mich beunruhigt, ist, dass ich den GC besteuere. Immer 5% der CPU, die benötigt wird, um den GC zu verarbeiten, sind 5% der CPU, die ich sonst nicht verwenden kann. Diese Seite ist eine der wenigen, die ich wirklich respektiere. Was denkst du alle? Ist es schlecht, das Entity-Modell dafür zu verwenden? Soll ich eine Menge von IdValue-Objekten erstellen, die nur den Anzeigewert und die ID enthalten? Würde eine solche View-Objekt-Ebene erstellt (ich nehme nicht an, dass dies in der Business-Schicht passieren wird), einfach redundanten Code erstellen?
Danke, JPD