Designs in der Softwareentwicklung

Innerhalb der Softwareentwicklung gibt es immer Versuche allgemeine Konzepte zu verfassen.

Wer von euch erinnert sich noch an das gute alte prozedurale Entwicklungsparadigma? Und als es von der OO verdrängt wurde. Oder die Relationalen DB?

Mich würde mal eure Meinung zum gegenwärtigen Trend, Splittung von Oberfläche, Daten und Logik (z.B. MVVM) interessieren.

Leider ist jetzt schon spät, aber die nächsten Tage werde ich versuchen noch einige Fragen in den Raum zu werfen. Ich hoffe, dass ich Feedback bekomme.

Bis dahin euer LesPaul

Innerhalb der Softwareentwicklung gibt es immer Versuche
allgemeine Konzepte zu verfassen.

Nicht nur das, sie werden auch verfasst.

Wer von euch erinnert sich noch an das gute alte prozedurale
Entwicklungsparadigma?

Nicht nur das, ich bin da immernoch zuhause. Es ist auch kein Paradigma. Sondern die „normale“ Herangehensweise. Etwas muss gemacht werden, also mach ich’s, wenn’s anliegt.

Erst die zunehmende und letztlich anders nicht mehr zu bewältigende Komplexität führte zu Paradigmen wie OO.

Und als es von der OO verdrängt wurde.
Oder die Relationalen DB?

Die RDBs sind genau so eine Abbildung der Realität wie Objekte.

Mich würde mal eure Meinung zum gegenwärtigen Trend, Splittung
von Oberfläche, Daten und Logik (z.B. MVVM) interessieren.

Den englischen Artikel http://en.wikipedia.org/wiki/Model_View_ViewModel gibt’s nicht mal auf deutsch. Wollte sich WinzWeich die Lizenzgebühren für http://de.wikipedia.org/wiki/Model_View_Controller sparen?

Es gibt den Controller, der alles steuert - muss ja sein.
Dazu Model=Daten und View=Benutzeroberfläche.

Warum grad diese beiden? Gibt es neben dem GUI nicht auch Drucker, E-Mail, …

Gut oder schlecht kann man so oder so prgrammieren, aber mit den neuesten allgemeinen Konzepte dauert es so oder so 10mal so lang.

Gruß

Hi,

Also zu erstem, ja, sie werden verfasst. Ich meinte mit versuch aber, den Versuch allgemeingültige Konzepte zu erstellen. Und das ein Konzept allgemeingültig ist, das hab ich noch nicht gesehen. Deshalb meinte ich Versuch

Zu zweitem:
Naja, denk schon das es ein Paradigma ist. Das Auslagern in Prozeduren um Probleme zu lösen war in den ersten Programmen die es gab nicht vorhanden. Es ist, wie du auch sagst, eine Herangehensweise. ob’s normal ist, darüber kann man diskutieren ^^

Zu drei:
Das weiß ich auch. Sollte auch nur ein Beispiel sein, um den einstieg in den Artikel zu erleichtern :wink:

Zu vier:
Da fängt für mich die Diskussion an und da steig ich auch voll ein ^^

Also, ich glaube dass das MVVM generell erstmal eine Gute sache ist. Es ist im Prinzip, so seh ich das, eigentlich nur eine Logische Schlussfolgerung, wenn man seine Anwendung bezüglich der 3 Schichten UI, Logic and Data aufteilt.
Jedoch geb ich dir recht, Drucker, EMail etc zählen für mich definitiv zu den UIs dazu.

Mein nächster ansatzpunkt wäre, das die Entwicklung dieser Layer unabhängig sein sollte. Somit könnte man seine Anwendungen noch flexibler gestalten. Ich denke da gerade an RIA (der schritt ist ja naheliegend bei MVVM), die über ein fundiertes logiksystem, welches plattformunabhängig sein könnte auf, komplexe berechnungen anfordern kann, die Anwendung dennoch schnell und nice aussieht.

Aber ich hab deinen Letzten Satz überlesen.
Geh ich recht davon aus, dass du eher AntiPattern bist?

wenn ja, wie kommts (mich interessiert, was deiner Meinung nach der Vorteil ist).

Grüße LesPaul

Hi,

du machst es einem nicht leicht, 1. 2. … da muss ich erst mal meinen Beitrag rauskramen - Antwort mit Zitat (man kann sich da auch kurz fassen) wär besser.

Also zu erstem, ja, sie werden verfasst. Ich meinte mit
versuch aber, den Versuch allgemeingültige Konzepte zu
erstellen. Und das ein Konzept allgemeingültig ist, das hab
ich noch nicht gesehen. Deshalb meinte ich Versuch

Nun ja, statt ein Problem zu lösen, kann amn auch den universeller Problemlöser entwickeln. Also lieber 5 neue Enwicklungsumgebungen auf den Markt schmeißen, als mal die Uraltlasten wegzuräumen.

Jedes Jahr kommen mindestens 3 neue „Dinge“ auf den Markt, die die ultimative Zukunft sind. Alle paar Jahre kommt auch mal was wirklich wichtiges. Zum Beispiel der Assembler, mit dem Jeder programmieren kann, weil er den Maschinencode nicht kennen muss. Oder die Programmiersprachen der 3. Generation.

Oder Objektorientierung, deren Wert man nicht unbedingt an den Versuchen der Verwirklichung messen sollte.

Zu zweitem:
Naja, denk schon das es ein Paradigma ist. Das Auslagern in
Prozeduren um Probleme zu lösen war in den ersten Programmen
die es gab nicht vorhanden. Es ist, wie du auch sagst, eine
Herangehensweise. ob’s normal ist, darüber kann man
diskutieren ^^

Normal ist, wie man’s macht. Wenn du eine Fluse siehst, wischt du sie weg, wenn sie überhand nehmen, kaufst du dir einen Besen. Du kannst dich allerdings auch bei der ersten Fluse in deinen Hobbykeller zurückziehen und einen Staubsauger entwickeln - während deine Wohnung verdreckt

Zu drei

Datenbanken und Objektorientierung gehen aber sehr unterschiedlich an die Dinge heran. Im Extremfall berührt jedes Objekt (fast) alle Datenbnktabellen. Wo bleibt da die Kapselung?

Zu vier:

Also, wenn etwas „Model View ViewModel“ heißt, kann es nicht gut sein, auch wenn es eine schicke palindromische Abkürzung hat.

Also, ich glaube dass das MVVM generell erstmal eine Gute
sache ist. Es ist im Prinzip, so seh ich das, eigentlich nur
eine Logische Schlussfolgerung, wenn man seine Anwendung
bezüglich der 3 Schichten UI, Logic and Data aufteilt.
Jedoch geb ich dir recht, Drucker, EMail etc zählen für mich
definitiv zu den UIs dazu.

Das scheint mir alter Wein in alten Schläuchen zu sein. Siehe MVC. Was auch nur darüber hinweg täuscht, dass die eigentliche Logik eines Programmes (welche Eingabe im GUI wirken sich wie in der Datenbank aus, oder sind fehlerhaft (da kann man gern auch 17fach gestaffelte Fehlerklassen schaffen) ) die Hauptarbeit sein solte.

… RIA (der schritt ist ja naheliegend bei MVVM), die über ein
fundiertes logiksystem, welches plattformunabhängig sein
könnte auf, komplexe berechnungen anfordern kann, die
Anwendung dennoch schnell und nice aussieht.

Wenn du mit RIA http://de.wikipedia.org/wiki/Rich_Internet_Application meinst, überkommt mich ein flaues Gefühl, das mit „K“ beginnt - Intuitiv - ich will nicht raten, was die Anwendung macht, noch will ich, das die Anwendung zu erraten versucht, was ich meinen könnte.

Aber ich hab deinen Letzten Satz überlesen.
Geh ich recht davon aus, dass du eher AntiPattern bist?

Ich weiß nicht mal, was Pattern ist, geschweige denn AntiPattern.

Ich sehe nur, dass die Internet/WinzWeich/.NET-Kollegen 3 Monate für etwas brauchen, dass ich in 3 Stunden hinkriege - und dass ich das nicht einfach ins Netz stellen kann, darum mögen sich die Verschwörungstheoretiker kümmern.

Gruß; Zoelomat

Hallo,
ich hatte mal einen jungen Kollegen im Hochschulrechenzentrum, der davon überzeugt war, dass man „in PASCAL keine Fehler machen“ könne…
Das fiel mir anlässlich dieser Diskussion ein; vielleicht passt es ja nicht so ganz.
Viele Grüße zum Neuen Jahr!
enricoernesto