Warning: Undefined array key "p" in /home/clients/119990c2465ec8673b725b4ed2ffc513/sites/informatikboard.ch/includes/vb5/template.php(404) : eval()'d code on line 794 Warning: Undefined array key "p" in /home/clients/119990c2465ec8673b725b4ed2ffc513/sites/informatikboard.ch/includes/vb5/template.php(404) : eval()'d code on line 794 Warning: Undefined array key "p" in /home/clients/119990c2465ec8673b725b4ed2ffc513/sites/informatikboard.ch/includes/vb5/template.php(404) : eval()'d code on line 794 OOP-Design Grundsatz fragen - iB - InformatikBoard.ch - Benutzer helfen Benutzern

Ankündigung

Einklappen
Keine Ankündigung bisher.

OOP-Design Grundsatz fragen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage: OOP-Design Grundsatz fragen

    Hi zusammen

    Ich hab ein paar Grundsatzfragen zu richtigem OOP-Design. Ich bin zwar gelernter Applikationsentwickler, aber ich konnte in der Firma, in der ich die Lehre gemacht habe, nicht wirklich gutes OOP-Design lernen. In der Firma waren einfach viele Quereinsteiger-Entwickler die zum Teil noch nie ein Buch über Software-Entwicklung gelesen haben. Nun meine Frage, ist es "normal" oder zumindest okay, wenn man eine grosse Klasse z.B. "Tools" benennt und einfach 100 Funktionen hineinbaut und diese in jeder Unit einbindet und aufruft? Die Klasse beinhaltet zum grössten Teil simple Stringänderungs-Mechanismen oder Rechnungsfunktionen etc. die immer wieder im Projekt gebraucht werden.

    Wie wäre hier das richtige Vorgehen? In mehreren Klassen aufteilen und thematisch sortieren oder wie löst sowas?

    Und meine zweite Frage wäre, gibt es ein Buch über OOP-Design oder Architektur, dass jemand empfehlen könnte? Vorzugsweise im Bereich C#/.NET oder Delphi.

    Was mir auch weiterhelfen würde, wären Source-Beispiele von richtigen Projekten, die weitergehn, als die üblichen Beispielem wie eine "Auto"-Klasse und "Fahren"-Methode...

    Liebe Grüsse

  • #2
    AW: OOP-Design Grundsatz fragen

    Hallo Critex

    Erstmal Herzlich Willkommen im iB ! :-)

    Und da Programmiersprachen so gar nicht mein Thema sind werden hier
    hoffentlich andere Antworten.
    rgds Lordicon


    Der einfachste Weg Identitätskrisen zu vermeiden.

    PSS: [Environment]::UserName

    Lordicon [Lord ei-'kän] frei übersetzt "Lord der Ikone"

    Kommentar


    • #3
      AW: OOP-Design Grundsatz fragen

      Hallo Critex

      Ich selbst habe nur Basiserfahrungen mit OOP in PHP aber im Internet findet man viele Informationen über "zu grosse Klassen".
      Es wird empfohlen nach dem Single responsibility principle zu arbeiten.

      Grundsätzlich kannst z. B. Tools mit ähnlichen Funktionen in eine Sub-Klasse zusammenfassen.

      Um ein Buch zu Empfehlen müsste ich wissen welche Programmiersprachen du nutzt.

      Lieber Gruss
      Dollique

      Kommentar


      • #4
        AW: OOP-Design Grundsatz fragen

        Hallo Critex,

        Bin zwar auch nicht der Vollblut-Entwickler, aber habe mittlerweile auch ein paar Erfahrungen sammeln können.

        Grundsätzlich gilt schon das Single Responsability Prinzip. Somit würde ich mir gut überlegen, welche Methoden wirklich in diese Klasse müssen oder welche man vielleicht auch in einer anderen unterbringen könnte. Wahrscheinlich wirst du ja nicht in jeder anderen Klasse "alle" Methoden der Tools Klasse brauchen. Mein Tipp daher, versuch das Ganze etwas aufzuteilen, in dem du ähnliche Methoden zu einer Klasse zusammenfasst.

        Bei deinem Anwendungsfall, dass du die Klasse in allen andern Klassen nutzen möchtest, würde ich dir "Dependency Injection" ans Herz legen.

        Beim OOP-Design geht es mehr um das Vorgehensmodell, wie möchtest du etwas lösen und nicht umbedingt mit welcher Programmiersprache. Denn wenn du ein gutes Design erstellt hast, kannst du das sozusagen mit jeder OOP-Sprache implementieren (klar gibt es je nach Sprache noch Spezialfälle). Aus diesem Grund würde ich dir das Buch von Robert C. Martin: Design Patterns empfehlen, dort werden viele dieser Vorgehensweisen beschrieben.

        Wichtig ist aber auch, dass du nicht versuchst ein Pattern zu 101% genau gleich in dein Projekt zu integrieren, sondern dass du die Konzepte verstanden hast und diese auf deinen Anwendungsfall adaptieren kannst.

        Wenn du ein paar "richtige" Projekte sehen möchtest, empfehle ich dir einen Blick auf Github zu werfen und dort nach grösseren Projekten zu suchen. Vielfach ist hier Google und Konsorte eine gute Anlaufstelle. Weiter kannst du natürlich auch einfach einmal nach Design Pattern in deiner bevorzugten Sprache googeln, da findet sich immer etwas.

        Hoffe das hilft dir etwas.

        Kommentar

        Lädt...
        X