design pattern: code in model classes

H2SO3-

Bekanntes Mitglied
Hi,

hätte eine Frage wie man folgendes "Problem" löst indem man sich an ordendliche design pattern hält.

Model classes sind ja ansich sehr schön. Einfache Datencontainer ohne code. Sie sollen ja ansich keine eigene codelogic haben.


Was mache ich aber mit sehr einfachen code? zb. Ich habe eine Person in einer Firma. Diese Person ist idendifizierbar entweder durch eine id oder durch den namen. ich habe nun zwei constructoren

Java:
public Person(String name){...}

public Person(int id){...}

was ich nun an code brauche ist eine kleine DB abfrage jeweils nach dem namen oder nach der id. Je nachdem welcher constructor genommen wurde.

Wo packe ich nun am besten den Code rein? Direkt in eine private Methode des models oder in eine extra class?
Denke mal eine factory class ist ebenfalls falsch.
 

H2SO3-

Bekanntes Mitglied
ist mir ansich zum teil schon wieder zu speziell.
Manchmal muss man auf ein wenige anderen code unterbringen. zb ob der name bestimmte bedingungen erfüllt usw. Spreche hier nicht von einem speziellen problem. Möchte eher allgemein wissen, wie man sowas löst.

Gibt es nicht was, was ein bishchen allgemeiner ist als ein DAO?

aber zum DAO. wie würde ich das eigentlich unterbingen im Pfad?

so:
mein.pfad.model
mein.pfad.model.dao

oder eher

mein.pfad.model
mein.pfad.dao
?

Das blöde bei beiden Lösungen ist halt, das ich alle methoden public halten muss obwohl ja eigentlich nur die classen in dem model package drauf zugriff haben sollen.
 

Noctarius

Top Contributor
Ich würde die erste Variante nehmen. Das Problem mit öffentlich und so kann man später sehr schön mit dem zusätzlichen Access-Level Package von OSGi umsetzen.

Generell hat in den Datenklassen (TOs) mein Businesscode etwas verloren. Dafür sind entweder Service-Klassen oder DAOs zuständig.

Für Dinge wie "bestimmte Länge" oder "muss einem Regex entsprechen - z.B. E-Mail Adresse" würde ich den JSR303 (Bean Validation - z.B. mit Hibernate Validations) verwenden :)
 

H2SO3-

Bekanntes Mitglied
Hi,

habe mal nach "Access-Level Package von OSG" gegoogelt. Aber nicht wirklich was gefunden wo ich mir hierzu noch etwas durchlesen kann. Hast du vielleicht mal einen link?
Weiß nicht genau was du damit meinst.
 

Noctarius

Top Contributor
Link müsste ich direkt auch suchen, aber kurz als Erklärung:

OSGi ist ein Modulsystem für Java. In OSGi teilst du deine App in möglichst sinnvolle, kleine Bruchstücke (die Bundles). Diese importieren oder exportieren Packages (die ganz normalen Packages aus deinem Programmcode).
Welche importiert oder exportiert werden kannst du explizit bestimmen und durch einen Classloader-Mechanismus kommst du von anderen Bundles auch nur an diese exportierten Packages dran.

Hier wurde sozusagen eine zusätzliche Access-Ebene zur Definition entwickelt, der Package-Level-Access.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Visito/Besucher Design-Pattern/Strukturmuster Softwareentwicklung 4
G Design Pattern gesucht! Softwareentwicklung 4
D Design Pattern Softwareentwicklung 6
S Design Pattern für zwei abhängige Klassen Softwareentwicklung 8
K Design Pattern für einen simple Rechenmaschine Softwareentwicklung 18
B Design Patterns und die Keywords Softwareentwicklung 22
P Zwei Fragen zum Design Softwareentwicklung 16
K Einlesen einer .dat-Datei (verschiedene Formate) | Entwicklung unter Einsatz von Design-Patterns Softwareentwicklung 0
L Design Patterns zu abstraktem Problem Softwareentwicklung 2
M Sauberes Design, Clean Code, etc. pp. Softwareentwicklung 47
G Projekte die Design by Contract verwendet haben?? Softwareentwicklung 2
C Wiki für ein Uni - High Level Design Softwareentwicklung 5
V Design Patters - Observer Softwareentwicklung 6
Jay_030 Checkstyle: Lösungsvorschläge für Design for Extension Softwareentwicklung 7
J Design Patterns in Programm hineinfließen lassen Softwareentwicklung 23
G Suche Programm für Masken Design für Pflichtenheft Softwareentwicklung 5
W Frage zu a)Innere Klassen und b)OO Design Softwareentwicklung 13
D Datenbank-Design Softwareentwicklung 3
M Datei-Typ-Design Softwareentwicklung 10
S Design-Frage: Wie viele Fassaden? Softwareentwicklung 4
G Test First <-> Design First Softwareentwicklung 6
B Haskell pattern matching in if else Anweisung umschreiben Softwareentwicklung 3
E Frage zu Dekorator-Pattern Softwareentwicklung 2
slawaweis Factory-Builder Pattern? Softwareentwicklung 6
B konfigurierbare Objekte - Singelton und Factory Pattern Softwareentwicklung 3
C Flyweight-Pattern verhält sich unerwartet Softwareentwicklung 5
U Decorator Pattern in der Java API Softwareentwicklung 6
M Proxy Pattern - Verständnisfrage Softwareentwicklung 2
0 Unklarheiten beim State Pattern Softwareentwicklung 2
N Composite pattern Softwareentwicklung 2
N Pattern Softwareentwicklung 2
L Builder Pattern Softwareentwicklung 6
1 Factory-Pattern: Bitte um Tipps zur Anwendung Softwareentwicklung 3
L Pattern Softwareentwicklung 3
J DAO Pattern bei komplexen Datenbankzugriffen Softwareentwicklung 2
M IllegalStateException - Problem mit GUI und Observer pattern Softwareentwicklung 4
G Pattern für Datenbank Anwendung Softwareentwicklung 22
A Iterato-Pattern und Innere Klassen Softwareentwicklung 9
F Unterschied Command und Strategy pattern Softwareentwicklung 4
F Wann Observer Pattern nehmen und Vorteile davon? Softwareentwicklung 5
H Frage ueber Prototype Pattern? Softwareentwicklung 2
G Warum/Wann mehrere Modells beim MVC-Pattern verwenden ? Softwareentwicklung 7
timomeinen DAO Pattern - Relationen mit DTO abbilden Softwareentwicklung 9
D Singleton pattern Softwareentwicklung 19
M decoration pattern Softwareentwicklung 2
W Lines of Code Softwareentwicklung 36
dgtKotlin Frage zu Kotlin source code Softwareentwicklung 5
H Python Code auf einen anderen Server ausführen Softwareentwicklung 6
D Code Review Softwareentwicklung 16
S Optimierungen: sowohl Lernstoff als auch Hands-On Code Softwareentwicklung 6
G Gehört generierter Code in die Versionsverwaltung Softwareentwicklung 14
U doppelten Code vermeiden Softwareentwicklung 4
S c++ code erklären?! Softwareentwicklung 5
ruutaiokwu reverse engineering tool gesucht: source code -> uml klassendiagramm Softwareentwicklung 5
O Wie analysiert ihr Source Code / Tipps zum Verstehen von fremdem Code Softwareentwicklung 4
U xmlvm-Problem: Der erzeugte Obj-C-Code erzeugt Fehler in Apple's Xcode SDK Softwareentwicklung 3
ARadauer Code Konvention für Datenbanken Softwareentwicklung 5
C C code in java umschreiben Softwareentwicklung 9
G Finde Fehler in C++ Code nicht! Softwareentwicklung 5
G UML Problemchen: Code-> UML Softwareentwicklung 4
A Code und Daten Softwareentwicklung 3
T Brauche für meinen Java-Code dringend Hilfe Softwareentwicklung 4

Ähnliche Java Themen

Neue Themen


Oben