Wenn ein empfangenes Objekt [JSON oder Excel-Datei] 10 Felder hat. Von den 10 Feldern sind 4 stabil, während 6 Felder und ihre Namen geändert werden. Es könnte Felder aus den gegebenen 6 Feldern entfernen und es könnten neue Felder hinzugefügt werden. Wie man Klassen gestaltet oder solche Fälle mit minimalen Änderungen in Zukunft behandeltJava Klassenentwurf für zukünftige Änderungen
Antwort
Nehmen wir an, Sie haben in Ihrem Beispiel Benutzerinformationen in Ihrer Datei vertreten. Wenn Sie stabile und instabile Felder haben, legen Sie einfach instabile Daten in andere Klassen.
class User {
String name;
String surname;
String gender;
Integer age;
Metadata metadata;
//constructor that receive all this data
}
class Metadata {
//here fields that's you change in future but
//class User don't need to know about this changes
}
Meinen Sie, Basisklasse mit stabilen Feldern hinzuzufügen und es mit Klasse so zu erweitern, dass Kindklasse instabiles Feld hat? – user3401717
@ user3401717 Nein, in meiner Antwort User and Metadata gibt es zwei verschiedene Klassen, hier brauchen keine Erweiterungen – fxrbfg
- 1. Java-Rückkopie, um zukünftige Änderungen auszublenden
- 2. Klassenentwurf für schreibgeschützte Auflistungseigenschaften
- 3. Hierarchisches Klassenentwurf
- 4. Klassenentwurf: Konfigurationsobjekt
- 5. Klassenentwurf mit virtuellen Methoden
- 6. Klassenentwurf - Eigenschaften oder Parameter?
- 7. EventHub PartitionContext Klassenentwurf
- 8. Excel-Absenderadresse für zukünftige Berechnung
- 9. Falscher Zeitstempel für zukünftige Benachrichtigungen
- 10. Terminplanung für mehrere zukünftige Benachrichtigungen
- 11. Eine zukünftige Aufgabe in Java abbrechen
- 12. Ermitteln zukünftige Zeitzonenübergänge
- 13. Was ist ein gutes Lernprogramm für C++ - Richtlinien-basierten Klassenentwurf?
- 14. Wie soll ich mit der Bestellung von Daten umgehen und gleichzeitig flexibel für zukünftige Änderungen bleiben?
- 15. Klassenentwurf - Vererbung oder Zusammenfassung oder Schnittstelle
- 16. Role Based Access Control (RBAC) Klassenentwurf
- 17. Entscheidungsregel-Matching für zukünftige Vorhersagen in R
- 18. Speichern von Funktionswerten für zukünftige Integration
- 19. Erweitern nach ID nur für zukünftige Zeiträume
- 20. jQuery Weltuhren für zukünftige Datum und Zeit
- 21. PM Änderungen an AM Java
- 22. Zukünftige Chrome Push-Benachrichtigung
- 23. Python zukünftige Zusammensetzung
- 24. Zukünftige Datumsanzeige Exklusive Wochenenden
- 25. zukünftige spec benutzerdefinierte Elemente
- 26. Programmierung auf zukünftige Hardware?
- 27. Scala zukünftige Ausführung
- 28. df.set_index() für Datetime-Objekte Listenspalte für zukünftige Daten nicht funktioniert.
- 29. Alarm erfolgreich für zukünftige Zeit eingestellt, aber nicht für Kalenderdatum
- 30. Java erkennen Änderungen im Dateisystem
vielleicht nur eine Karte verwenden. –
Eine Karte, wenn von Kind zugegriffen wird, kann geändert werden. Ich will nicht, dass irgendjemand Stallnamen ändert. – user3401717
Sie können es eine unveränderliche Karte machen –