vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Beispiel für das Befüllen einer Klasse mit Daten aus der DB 
Autor: ModeratorFZelle (Moderator)
Datum: 11.09.10 23:16

Es geht bei ORMappern, 3 Schichten Architektur, MVP und Pattern nicht darum, das man das nicht auch ohne das alles machen kann.

Aber "seperation of concern" hilft z.b. dabei die SW wartbarer und robuster zu machen indem jede Klasse nur für einen begrenzten Bereich zuständig ist, allerdings wird es auf den ersten blick dadurch umfangreicher.
Die meisten Pattern führen zu mehr Code, aber Sie haben gerade dann Vorteile wenn die SW Komplexer wird.

Ein Beispiel ist z.b. das hier ständig die fragen kommen wie man bei Textboxen z.b. Zahlen oder Buchstaben unterbinden kann.
Dies wird dann u.a. dazu benutzt um Die eingabe einer Zahl in einer Datatable zu Validieren.
Zusätzlich wird dann noch in der Form das Validating auf grenzen gemacht, oder irgendwelche Pattern überprüft.
Jetzt gibt es aber in fast jeder grösseren SW die Möglichkeit Datenbestände per CSV upzudaten.
Jetzt musst du hier die selben Regeln wieder implementieren.
Und hast du mehr als eine Form die diese Daten bearbeiten kannst du all diese Stellen immer schön parallel pflegen.
Hast du eine Businessschicht dazwischen, die die Validierung bei der Eingabe vornimmt, und per INotifyPropertyChanged und IDataErrorInfo die Daten verabeitet bzw Signalsiert, musst du das alles nur an einer Stelle pflegen.
Nimmt man hier eine BusinessRulesEngine wird es sicherlich im ersten Moment wieder umfangreicher, aber
Public Class Person 
  Inherits BusinessEntity(of Person )
 
protected overrides sub AddValidatioRules()
  ValidationRules.Add( new StringRequiredRule("LastName"))
...
end sub
 
 
End Class
Finde ich schon recht eingängig.

Genauso ist es z.b. mit ORMappern.
Natürlich kann man das auch alles per SQL und ADO.NET machen, aber ich persönlich finde ein
Dim kunde as New Person
kunde.Firstname ="Max"
kunde.Lastname = "Mustermann"
 
Dim adress as Adress = kunde.Adresses.Add( new Adress)
adress.AdressType = Adresstype.BillingAdress
adress.Street=...
 
adress = kunde.Adresses.Add( new Adress)
adress.AdressTyoe = AdressType.DeliveryAdress
adress.Street=...
 
Session.Persist( kunde )
viel einfacher.

Wer allerdings Massendaten verschiebt, und stündlich 1.000.000 Datensätze verarbeiten muss, der ist sicherlich mit einem ORMapper nicht gut bedient, denn natürlich benötigen die Sachen Zeit und mehr Speicher.

Darum ist es aber wichtig zu wissen was es gibt, wie man etwas benutzen kann und wo die Grenzen sind.

Aber wie oben gesagt, du kannst das auch alles anders machen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Beispiel für das Befüllen einer Klasse mit Daten aus der DB2.103Froggy10.09.10 23:54
Re: Beispiel für das Befüllen einer Klasse mit Daten aus der...1.341ModeratorDaveS11.09.10 11:33
Re: Beispiel für das Befüllen einer Klasse mit Daten aus der...1.325ModeratorFZelle11.09.10 12:43
Re: Beispiel für das Befüllen einer Klasse mit Daten aus der...1.293ModeratorDaveS11.09.10 20:33
Re: Beispiel für das Befüllen einer Klasse mit Daten aus der...1.386Froggy11.09.10 21:23
Re: Beispiel für das Befüllen einer Klasse mit Daten aus der...1.307ModeratorFZelle11.09.10 23:16
Re: Beispiel für das Befüllen einer Klasse mit Daten aus der...1.287ModeratorDaveS12.09.10 09:59

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel