Einstieg in Java EE - Beispielanwendungen

Maki:
Der Controller gehört doch zur UI, oder?
Klar kann man das auch machen, aber das ist dann kein Schichtenmodell.

Dein Kursleiter hat übrigens recht, "das macht man so in JEE", wenn du JEE lernen willst, kannst du anfangs ruhig den empfohlenen Pfad gehen und später, wenn du vertrauter damit bist, andere Wege einschlagen.

Der Controller ist in der Logic, nimmt aber daten von der Praesentatione entgegen, macht irgendwas damit, fuehrt dann das "new" von einem benutzer, gibt den an die persistenz weiter.

Ich finde es auch wichtig gewisse standards und den usus kennenzulernen. wenn man nicht gerade einzelgaenger ist, erleichtert einem das das leben.

wenn ich aber zum beispiel eine anwendung mit projecten, und projectmitarbeitern habe. projektmitarbeiter kann freiberuflich oder fest angestellt sein. und dann will ich die die kosten des projects ausrechnen. das kann man mit OO sehr uebersichtlich geschickt loesen finde ich. der einzige ort der wissen muss, wie die mitarbeiterkosten errechnet werden muessen(oder was fuer ein mitarbeiter das ueberhaupt ist), sind die mitarbeiter selbst. dem project ist das egal, das will nur das ergebniss sehen. (und der einzige ort der wissen muss wie die projectkosten errechnet werden ist das project, ich kann also als aussenstehender die projecte gelassen programmieren ohne nachfragen zu muessen wie die mitarbeiter ihre kosten berechnen, und ich kann als weiter aussenstehender die projektkostenberechnen() methode aufrufen ohne mir da irgendwie weitere gedanken machen zu muessen)

hmm.. wie wuerde ich so ein problem mit jee loesen.... in einer mitarbeiterkostenberechnungs-service? was kann ich der geben? einen abstrakten projectmitarbeiter? einen konkreten? in diesem service muesste ich ja dann auch die methode mitarbeiterkostenetc mehrfach ueberschreiben, damit sie auch mit allen mitarbeitern auskommt. ich hab nicht sehr viel erfahrung aber es klingt fuer mich einfach ein stueck komplizierter und "unaufgeraeumter", irgendwie aufgeblaeht.

Ich bin kein theorie fan und weniger interessiert mich eine reihne lehre oder aehnlcihes aber man versucht sich halt das leben leicth zu machen wo es geht ;-)

Das ist jetzt nur ein gedankengang gewesen und ich mach im moment nicht so ein project.
 
Zuletzt bearbeitet:
hmm.. wie wuerde ich so ein problem mit jee loesen.... in einer mitarbeiterkostenberechnungs-service? was kann ich der geben? einen abstrakten projectmitarbeiter? einen konkreten? in diesem service muesste ich ja dann auch die methode mitarbeiterkostenetc mehrfach ueberschreiben, damit sie auch mit allen mitarbeitern auskommt. ich hab nicht sehr viel erfahrung aber es klingt fuer mich einfach ein stueck komplizierter und "unaufgeraeumter", irgendwie aufgeblaeht.

Ich bin kein theorie fan und weniger interessiert mich eine reihne lehre oder aehnlcihes aber man versucht sich halt das leben leicth zu machen wo es geht ;-)

Das ist jetzt nur ein gedankengang gewesen und ich mach im moment nicht so ein project.

Ich versteh dein Problem nicht ganz?!? Aber sowas in der Art würde doch reichen

Beispiel:
Java:
@MappedSuperclass
public abstract class ProjektMitarbeiter {

	@Id
	protected Long id;

	@Override
	public Long getId() {
		return id;
	}
	
	public void setId(Long id) {
		this.id = id;
	}
	
	public abstract Double berechneGehalt();
}

Java:
@Entity
public class FreierMitarbeiter extends ProjektMitarbeiter{

	@Override
	public Double berechneGehalt() {
		return stunden * stundenlohn;
	}

}

Java:
@Entity
public class FestMitarbeiter extends ProjektMitarbeiter{

	@Override
	public Double berechneGehalt() {
		return monatsgehalt;
	}

}

Java:
@Entity
public class Projekt {

	private List<ProjektMitarbeiter> projektMitarbeiters;
	
	public Double berechneKosten(){
		Double kosten = Double.valueOf(0);
		for(ProjektMitarbeiter mitarbeiter : projektMitarbeiters){
			kosten += mitarbeiter.berechneGehalt();
		}
		
		return kosten;
	}
}
 
@ SirWayne:
Genau das hatte ich ja auch beschrieben. So wie du es gepostet hast, finde ich es auch am einfachsten und logischsten. Nur, was ist wenn du die Entities frei von Code machen willst und die methoden in services als Session beans schreiben willst? da wird es dann etwas komplizierter oder besser gesagt aufgeblaehter. Das wollte ich im post ausdrücken.

es hatte sich ja eine diskussion geblidet wegen OO vs. Prozedual etc. deshalb mein post.

Aber wie gesagt es war nur ein beispiel ich implementiere das zur zeit nicht.

Ich hab zur zeit haarausfall wegen dem tomcat aber das schreib ich woanders rein ;-)
 

Zurück
Oben