AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Prinzipfrage: Wie hält man's mit OOP
Thema durchsuchen
Ansicht
Themen-Optionen

Prinzipfrage: Wie hält man's mit OOP

Ein Thema von Olli · begonnen am 25. Jul 2007 · letzter Beitrag vom 30. Jul 2007
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#21

Re: Prinzipfrage: Wie hält man's mit OOP

  Alt 26. Jul 2007, 10:27
Zitat von QuickAndDirty:
...seit dem mache ich keine QuickAndDirty(mein Name) Lösungen mehr egal wie klein das Programm auch sein mag.
Man kann auch in OOP QuickAndDirty programmieren und man kann auch mit prozeduralem Ansatz sauber strukturiert programmieren. Das hat nichts mit dem OOP Ansatz zu tun, sondern nur mit der eigenen Struktur und Disziplin.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#22

Re: Prinzipfrage: Wie hält man's mit OOP

  Alt 26. Jul 2007, 10:31
Zitat:
Ich denke in Bezug auf Erweiterbarkeit ist OOP eigentlich besser.
Nur oberflächlich betrachtet stimmt dies. Ich kann dir Beispiele nennen bei denen die "Erweiterbarkeit" von Klassen auf Grund der Regeln der OOP dazu führen musst das Monster-Klassen entstehen. Also Klassen mit über 300 Methoden. Das ist kontraproduktiv und eben nicht erweiterbar. Denn bei jeder Änderung wird das komplete Objekt verändert, was aber wenn das eine Basis Klasse ist und durch die Änderungen defakto alle abhängigen Klassen ständig neu kompliert werden müssen ? Prozedural hätte man einfach ein neue Prozedure in die Unit oder eine andere Reingepackt. Hauptsache diese Prozedure benutzt die gleichen Scnittstellen wie alle anderen Prozeduren.

Wie gesagt, erstmal soll uns die OOP Arbeit einsparen, und zwar indem man mit ihr ein identisches Problem nicht mehrmals prozedural löst sondern einmalig als Klasse zusammenfasst und wiederverwendet für andere Klassen. Man reduziert also die Komplexität des Problems durch die OOP und damit die Anzahl an Sourcezeilen. Wenn also ein Projekt per OOP mehr Sourcezeilen benötigt als Prozedural dann stimmt da was nicht vom Konzept her. Natürlich alles aus der Sichtweise heraus das wir die freie Entscheidnung überhaupt haben. Oft mß man per OOP oder prozedual programimieren weil man nicht die Manpower hat, nicht die richtigen Werkzeuge, weil es hoch-portabel belieben muß etc.pp.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#23

Re: Prinzipfrage: Wie hält man's mit OOP

  Alt 26. Jul 2007, 10:50
Zitat von negaH:
Denn es nützt nichts sich mit den anderen Fragen zu quälen wenn man noch nicht weiß ob per OOP überhaupt ein Nutzen für das Projekt entsteht. Keinen Nutzen habe ich wenn per OOP 30mal mehr Source anfällt, alles viel kompilizierter wird als es real ist, OOP soll vereinfachen.
Da ist was wahres drann.

Ich kenne einen Entwickler, der sollte ein einfaches kleines OOP Programm schreiben.
In dem Programm sind alle Techniken, die so gelehrt werden verwirklich.
Das Programm besteht aus einer kleinen GUI. In der GUI ist alles gegen Interfaces programmiert.
Sämtliche Objekte werden aus einer anderen Assebly mit sogenannten Factories erzeugt.
In einer anderen Assembly werden dann die Objekte implementiert. Im Hintergrund ist ein relativ großes Objektmodel entstanden, da jede Eventualität versucht wurde zu berücksichtigen. Es wurde ein "GrundObjekt" geschrieben, davon wurde ein etwas spezialisierteres Objekt abgeleitet, davon wieder eins und dann irgendwann das Objekt welches benutzt werden soll. Es entsteht der Eindruck es wurde nur des Ableitens Willen Abgeleitet, da die Objektebenen dazwischen nicht verwendet werden.
Bei der Gelegenheit wurde dann noch die ELIB (MS Enterprise Lib) verwendet und um eigene Funktionalitäten erweitert.
Die Anwendung ist eigentlich relativ klein, aber der komplette Quellcode ist rießig.
(Der Speicherverbrauch zur Laufzeit leider auch)
Das Programm wird von den Benutzern nur ungern eingesetzt, da es sehr schwerfällig, Speicherintensiv und langsam ist.

Was will ich damit sagen:
Man kann es treiben und man kann es übertreiben.

An Stellen wo es Sinn macht, sollte man die bekannten Techniken (OOP, MultiTier, Patterns, ...) verwenden.
Aber man sollte nicht nur der Technik Willen die Technik verwenden.

Wenn die Technik einen Nutzen verspricht, dann sollte man sie verwenden.
Wenn die Technik mehr Aufwand als Nutzen bringt, sollte man es überdenken.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#24

Re: Prinzipfrage: Wie hält man's mit OOP

  Alt 26. Jul 2007, 10:54
@MaBuSE: Dein Beispiel erinnert mich irgendwie an die Hammer-Factory
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#25

Re: Prinzipfrage: Wie hält man's mit OOP

  Alt 26. Jul 2007, 11:04
Zitat von DeddyH:
@MaBuSE: Dein Beispiel erinnert mich irgendwie an die Hammer-Factory
Cool, das kannte ich ja noch gar nicht. Ich werde es mal an denjenigen weiterleiten
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#26

Re: Prinzipfrage: Wie hält man's mit OOP

  Alt 30. Jul 2007, 00:49
Hi,

ich bedanke mich erstmal bei allen Diskussionsteilnehmern.

Der "alte Hase" ist leider nicht sonderlich gut in OOP, der Rest des Teams aber eigentlich schon. Prinzipiell hätte ich ja auch nichts dagegen, wenn das Interface nach außen funktional gestaltet wäre und statt Instanzen halt Handles benutzt (die dann intern auf Instanzen mappen ).

Eigentlich bin ich inzwischen sogar entschlossener als zuvor es OOP zu machen. Ansonsten würden wir es später bereuen.


Danke nochmals.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#27

Re: Prinzipfrage: Wie hält man's mit OOP

  Alt 30. Jul 2007, 01:10
OOP-Anteile bei mir (grob geschätzt) :

TP 5.0 : 0 %
TP 5.5 : 2 %
BP 7.0 : 10 %
usw.

Delphi : nicht OOP-Anteil : ca. 5 %

OOP ist aber auch nicht einfach nur ein Schlagwort. IMHO müsste die Frage aber eher so lauten : "Welche triftigen Gründe gibt es, etwas nicht gleich mit OOP zu machen ?".
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#28

Re: Prinzipfrage: Wie hält man's mit OOP

  Alt 30. Jul 2007, 08:41
Zitat von Hansa:
OOP ist aber auch nicht einfach nur ein Schlagwort.
Was ist denn für Dich OOP?

Wenn jemand ein TForm benutzt und dort einen TButton benutzt um dann sein Programm auszuführen, was wiederum prozedural aufgebaut ist, nenne ich nicht unbedingt OOP.
Wenn jemand eigene Klassen baut, in denen alle Methoden static sind (class procedure), um sie dann wie normale Prozeduren aufzurufen, nenne ich das auch nicht unbedingt OOP.
Wenn jemand in C# einen string verwendet oder einen Integer, so ist das für mich auch kein OOP, obwohl der Integer ja ein Objekt ist.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#29

Re: Prinzipfrage: Wie hält man's mit OOP

  Alt 30. Jul 2007, 11:08
Zitat von MaBuSE:
..nenne ich das auch nicht unbedingt OOP.
Ich auch nicht. Bei mir fängts mit Form-Inheritance an. Habe dementsprechend nur 2 Forms, die tatsächlich TForms sind (für Ein- und Ausgabe). Infolgedessen befinden sich neu eingeführte Variablen und Methoden vornehmlich in der protected-Sektion der Deklarationen. Es sollen eben immer nur neue Sachen dazukommen, die alten aber auch benutzt werden können. Infolgedessen ist auch oft override zu finden und in den Prozedur-Rümpfen inherited. Bei den Komponenten gehts dann weiter. Habe da einen ganzen Satz eigener, überwiegend von TEdit abgeleitet, um nicht jede Falscheingabe behandeln zu müssen. Die geht erst gar nicht. Rein prozedural bleibt wirklich nur eine Unit übrig die solche Funktionen/Prozeduren enthält : netto, brutto, lb, rb, zentriert usw.
Gruß
Hansa
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#30

Re: Prinzipfrage: Wie hält man's mit OOP

  Alt 30. Jul 2007, 11:36
Zitat von MaBuSE:
Wenn jemand in C# einen string verwendet oder einen Integer, so ist das für mich auch kein OOP, obwohl der Integer ja ein Objekt ist.
Das ist übrigens das putzige an C++. Formal ist ein Integer kein Objekt, aber defacto schon, weil man im Grunde jeden Aspekt eines Integers in einer eigenen Klasse nachbauen kann.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz