Frage zur Klassenbezeichnung + Bonusfrage

WeirdAl

Mitglied
Huhu,
ich beginne gerade mein geplantes Projekt zu implementieren und habe dazu eine grundlegende Frage.
Dieses Projekt wird ein WTP-JSF Projekt, dass u.a. JavaBeans nutzt, um Benutzereingaben aufzunehmen.

Ich habe jetzt z.B. die Klassen UserMainBean und UserContactBean. Dabei enthält UserMainBean eine ArrayList von UserContactBean Objekten. So gesehen ist UserContactBean eine "Helferklasse" von UserMainBean und jetzt weiß ich nicht, ob ich diese Klasse (UserContactBean) ohne Postfix "Bean" nutzen soll. Wie handhabt ihr das? Eigentlich ist meine UserContactBean keine richtige JavaBean da sie "nur" setter/getter Methoden hat (sonst nichts von einer richtigen Bean), andererseits gehört sie zu der UserMainBean, die eine managedbean im Sinne von JSF ist.
Kann man soweit gehen, ein eigenes "HelperClass Package" zu erstellen und diese UserContact-Klasse da reinzupacken?.

Ich hoffe mein Problem wird klar :)
Ich würde gerne meinen Code sauber trennen und innerhalb des "models" eine sinnige Package-Struktur haben.


Edit:
Wenn ich schon gerade am Fragen bin, könntet ihr mir bitte erklären, was genau alles zur Geschäftslogik gehört. Gehört als alles was nicht Applikationslogik ist automatisch zur Geschäftslogik?
Meine Javabeans gehören zur Zeit zur Applikationlogik, da sie die Eingaben der Benutzer aufnehmen. Kann ich in diesen Beans auch direkt die Speicherung (Persistenz in einer DB / oder File) vornehmen oder sollte ich dies in andere Klassen (evtl EJBs) packen, da die Speicherung ja (von mir angenommen) zur Geschäftslogik gehört?

So das wars erstmal :)
Cu
Alex
 
Ich kann was nur zur letzten Frage sagen:
Man kann mit Hiberante die Beans in die DB speichern.
Hibernate benutzt Beans als Tabellen-Objekte.
Und generel, m.M.n., sind die Beans etwas dazwischen. Sie sind so was, wie eine Schnittstelle zw. Geschäfts- und Applikationlogik.
 
In deiner faces-config.xml würde ich die beiden Klassen so einbinden:

Code:
	<managed-bean>
		<managed-bean-name>userMainBean</managed-bean-name>
		<managed-bean-class>PACKAGE_PFAD.UserMainBean</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>

	<managed-bean>
		<managed-bean-name>userContactBean</managed-bean-name>
		<managed-bean-class>PACKAGE_PFAD.UserContactBean</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>

Zugreifen auf deine UserContactBean kannste dann in deiner UserMainBean so realisieren:

Code:
	FacesContext FC = FacesContext.getCurrentInstance();
	Application app = FC.getApplication();
	Verteiler ContactBean = (UserContactBean)app.createValueBinding("#{userContactBean}").getValue(FC);

Du kannst sie natürlich auch ohne Postfix "Bean" benutzen.
 
Zurück