Ich habe bestimmte objektorientierte Experten gesehen, dass Domänenobjekte (POCOs) unveränderlich sein sollten. rekonstruieren ich das Domänenobjekt basierend auf Daten in einer Datenbank?class User
{
private string _emailAddress;
public User(string emailAddress, string password)
{
// ... generate hash & seed
_emailAddress = emailAddress;
}
public string PasswordHash { get; private set; }
public string PasswordSeed { get; private set; }
public bool ValidatePassword(string password)
{
// validate it against the stored hash
}
}
< /code>
Im obigen Beispiel möchte ich den Status des Objekts speichern und später abrufen. Dies bedeutet, dass das Passworthash, das Passwort und die E -Mail -DREIDDRESS gespeichert werden. Es gibt keine Konstruktorparameter, an die sie übergeben werden können, und ich kann das Objekt nicht einmal ohne sie konstruieren, da 'Passwort' geliefert werden muss und ich nicht weiß, was das ursprüngliche Passwort war. Ich kann die Eigenschaften von 'PasswordHash' oder 'passwordsateed' nicht festlegen, da sie 'private Set' sind. Lesen/Schreiben. Aber wo ist meine Kapselung und Unveränderlichkeit? Ich wollte einen bestimmten Workflow in meine Domänenobjekte durchsetzen. Kein Konzept der Kapselung. Jede Spalte in einer Tabelle ist 'öffentlich' und jeder Wert ist 'veränderlich'. Oder gibt es eine bekannte Strategie, um sich damit umzugehen, von denen ich noch nichts weiß?
Wenige unveränderliche Objekte in eine relationale Datenbank bestehen ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Gibt es eine einfache Möglichkeit, eine relationale HTML -Auswahl zu treffen?
by Anonymous » » in HTML - 0 Replies
- 9 Views
-
Last post by Anonymous
-
-
-
Sind alle Objekte in Java erstellt, sind statische Objekte in der Hauptmethode?
by Anonymous » » in Java - 0 Replies
- 18 Views
-
Last post by Anonymous
-