MVC-Fluch oder Segen?

AKST

Erfahrenes Mitglied
Hallo Leute,

ich bin beruflich Softwareentwickler und arbeite mit Delphi und Datenbanken. Nach der Arbeit beschäftige ich mich "hobbymässig" mit Java und bin gerade dabei meine erste kleine Anwendung zu schreiben.
Aber jetzt zu meinem eigentlichen Problem:

Was haltet ihr, wenn ihr ganz ehrlich seit vom MVC-Paradigma in Swing und oder struts/ JSF etc.. Einerseits bringt es Ordnung in die Anwendung und trennt klar die Darstellung von den Daten, andererseits bin ich derzeit seeehhhr ernüchtert darüber wie kompliziert es ist einfache Daten in einer JTable darzustellen.
Wenn ich Daten hinzufügen, editieren und löschen möchte, sowie die Tabelheader verschiedensprachig darstellen möchte (im Programm änderbar), dann brauche ich dafür etliche Klassen, Methoden und Vektoren (Tablemodel, TableCellrenderer, ActionListener, etc.).

Ich mein das ist ja in der Theorie alles sehr schön und logisch, aber ist denn damit ein wirklich produktives Arbeiten möglich? Ich habe ein paar Monate als Student in zwei Softwarefirmen gearbeitet, welche große Projekte in Java realisierten, beide haben nicht produktiv gearbeitet, sprich die Projekte haben eindeutig zu lange gedauert.

Wenn ich etwas ähnliches in Delphi realisiere, dann mache ich das in einem Bruchteil der Zeit. Mir ist schon klar, dass Java mit seinen verschiedenen Frameworks für eher "große" Projekte konzipiert ist und Delphi für "kleinere bis mittlere", was sich aber mit Delphi.NET ändert.

Nun gut ich wollte einfach mal meine Gedanken aufschreiben und Euch fragen, wie ihr darüber denkt.

P.S. nicht dass ihr jetzt denkt ich habe resigniert und werde nicht weiter Java lernen ;-) nene ;-)
 
Der Unterschied liegt unter anderem darin, dass zB Delphi dazu verleitet auf einen Button zu klicken und dort seinen Code reinzuwurschteln.

Java verleitet dazu sauber zu programmieren, was in der Regel etwas länger dauert. Dafür fallem einem später nicht ständig Ziegelsteine auf den Kopf, weil es dort nicht erweiterbar ist, dort müsste die halbe Anwendung aufgebohrt werden etc.
 
Hallo!

Abhandlungen zu den Vor- und Nachteilen zum MVC Paradigma gibt es wie Sand am Meer, wie z.Bsp. hier:
http://ivs.cs.uni-magdeburg.de/~heisel/patbas/vortrag_kwolf.pdf

...
Einerseits bringt es Ordnung in die Anwendung und trennt klar die Darstellung von den Daten, andererseits bin ich derzeit seeehhhr ernüchtert darüber wie kompliziert es ist einfache Daten in einer JTable darzustellen.
...

Da du ja selbst schon schreibst, dass du erst wenig Erfahrung mit Java hast kanns doch daher kommen, dass du deshalb die Anwendung des MVC Paradigmas in der Oberflächen Programmierung mit Swing als "zu kompliziert" erachtest. Übung macht den Meister ;)

Wenn ich Daten hinzufügen, editieren und löschen möchte, sowie die Tabelheader verschiedensprachig darstellen möchte (im Programm änderbar), dann brauche ich dafür etliche Klassen, Methoden und Vektoren (Tablemodel, TableCellrenderer, ActionListener, etc.).
Mag sein, dass das vielleicht auf den ersten Blick als ziemlich großer Overhead erscheint, jedoch bekommst du durch die vielen kleinen Interfaces und Mechanismen eine extrem große Flexibilität an die Hand gelegt die man sich bei anderen Produkten nur wünschen kann...

Ich mein das ist ja in der Theorie alles sehr schön und logisch, aber ist denn damit ein wirklich produktives Arbeiten möglich?
Na kar, so ziemlich jedes Anwendungssystem arbeitet irgendwo mit dem MVC Paradigma. Jedoch ist MVC immer nur EIN Paradigma unter vielen (PAC,IoC, ...) die zusammen eine Anwendung ausmachen. Da kann man sich nicht nur an einer Ecke festhalten und daran die Realsierbarkeit einer Anwendung in Frage stellen...

Wenn ich etwas ähnliches in Delphi realisiere, dann mache ich das in einem Bruchteil der Zeit. Mir ist schon klar, dass Java mit seinen verschiedenen Frameworks für eher "große" Projekte konzipiert ist und Delphi für "kleinere bis mittlere", was sich aber mit Delphi.NET ändert.
Vielleicht kannst du Delphi ja einfach sehr gut... außerdem gibt es eben einfach Sprachen die für dies und jenes mal mehr und mal weniger geeignet sind und dann bleibt da noch die lang diskutierte Frage nach der Plattformunabhänigkeit... (wenn die jemand braucht) und da ist's nunmal auch mit mono nicht nicht so gut bei .Net gestellt...

Gruß Tom
 
Original geschrieben von Norbert Eder
Der Unterschied liegt unter anderem darin, dass zB Delphi dazu verleitet auf einen Button zu klicken und dort seinen Code reinzuwurschteln.

Java verleitet dazu sauber zu programmieren, was in der Regel etwas länger dauert. Dafür fallem einem später nicht ständig Ziegelsteine auf den Kopf, weil es dort nicht erweiterbar ist, dort müsste die halbe Anwendung aufgebohrt werden etc.

Das gleiche kann ich in VisualStudio.net, JBuilder, Eclipse-VisualEditor, etc. ebenso machen. Gerade VisualStudio.NET ist sehr delphiähnlich, da einer der Chefentwickler des VS.NET von Borland zu Microsoft gewechselt ist.
Es ist schon ein Unterschied ob ich im Eventhandler eine Menge Code reinwurschtle oder da nur Methoden aufrufe. Wie gesagt unsauber kann ich in jeder Sprache programmieren.

@Thomas, du hast natürlich recht, aber irgendwie ist es schon erstaunlich wie mühsam man sich in Java alles zusammenbauen muss.
 
Zuletzt bearbeitet:
Also wenn ich mir das mal genauer anschaue, dann ist das MVC-Pattern garnicht mal so übel.
Aber dass dies nichts für kleine Projekte auf Windowsrechnern ist, dabei bleibe ich.
 
Original geschrieben von AKST
Also wenn ich mir das mal genauer anschaue, dann ist das MVC-Pattern garnicht mal so übel.
Aber dass dies nichts für kleine Projekte auf Windowsrechnern ist, dabei bleibe ich.

Schau dir SWT an. SWT alleinig (ohne JFace) ist doch sehr nah an den Controlls.

Ich bin aber komplett abgekommen SWT "hart" zu programmieren und nimm lieber JFace das mir die MVC ähnlich Swing bietet.

Es ergeben sich massenhaft vorteile da die Daten die in den Controlls dargestellt werden meist eher in einer Datenhaltung vorliegen die nicht auf die Kontrolls optimiert ist.
 

Neue Beiträge

Zurück