Design Patterns / Entwurfsmuster der Gang of Four - Ein Überblick

Поделиться
HTML-код
  • Опубликовано: 18 окт 2024

Комментарии • 134

  • @DavidTielke
    @DavidTielke  3 года назад +7

    Wie immer interessiert mich: Wie steht Ihr zum Thema Design Patterns bzw. Entwurfsmuster? Welche nutzt Ihr? Welche vermeidet ihr und welche Erfahrungen habt ihr damit gemacht? Welches Design Pattern sollen wir uns mal im Details anschauen? Und wie immer: wenn Euch das Thema interessiert, helft mir und unterstützt den Kanal mit Likes und einem *Abo* - Danke!

    • @hubertfuchs2237
      @hubertfuchs2237 3 года назад

      #FragDavid: Kann das eigentlich sein, dass bei vielen Design Pattern Beispielen(im Buch z.B.) Zyklen zur Laufzeit entstehen? Ist das nicht "böse"? Sollte man das nicht immer vermeiden?

    • @DominikZogg
      @DominikZogg Год назад

      Decorator Pattern ist das erste Pattern, dass ich einem Entwickler beibringen würde. Das Konzept ist relativ einfach die Wirkung extrem mächtig. Und extrem Flexible, sowohl OOP als auch FP tauglich

  • @nifix777
    @nifix777 3 года назад +4

    Erst mal vielen Dank für die tollen Videos. Auch nach jahren in der Softwareentwicklung kann man immer wieder neue Sachen lernen oder sich nochmal ins Gedächnis rufen lassen :).
    Meine TOP 3: DI, Adapter und Builder

  • @plotze0692
    @plotze0692 2 года назад +1

    Das beste Video über Softwarestruktur das ich bisher gesehen habe :)

    • @DavidTielke
      @DavidTielke  2 года назад +1

      Hey,
      vielen Dank für Dein Lob - das freut mich!
      Gruß David

  • @mazenal-ali3543
    @mazenal-ali3543 3 года назад

    Ich habe mich mit Singleton erstmal beschäftigt und es war eine SUPER Lösung für ein Problem in der Software. Top 3 sind , Singleton, Fassade und decorativ Pattern. Sehr informatives Video. Ganz herzlichen Dank, weiter bite damit.

  • @prof.sebastian
    @prof.sebastian 2 года назад +1

    sehr coole Einführung! Super die Abgrenzung von Design- und Architekturpattern!

  • @IxFreeZe4TW
    @IxFreeZe4TW 3 года назад +3

    Sehr cooles Video! Ich habe mich auch viel zu früh mit dem ganzen Thema auseinander gesetzt und habe das meiste nie wirklich verinnerlichen können. Ein paar sind aber bei mir hängen geblieben: Strategy, Facade und Observer 😊 Ich werde in nächster Zeit erstmal so weiter Erfahrungen sammeln und mich dann eines Tages wieder damit beschäftigen. Hat mich gefreut, dass du diesen wichtigen Aspekt genannt hast ✌🏻

    • @DavidTielke
      @DavidTielke  3 года назад +1

      Hey,
      danke schön! Das ich damit den Nerv von so vielen treffe, habe ich zwar vermutet, aber die Menge an Zustimmung verblüfft mich doch etwas ;)

  • @honeyloop2746
    @honeyloop2746 3 года назад +1

    Tolles Video, speziell der Tipp, dass man nicht zu früh mit dem Lernen der Muster anfangen soll, ist sehr wertvoll. Meine Top 3 Entwurfsmuster sind Adapter, UoW und Factory

    • @DavidTielke
      @DavidTielke  3 года назад

      Danke, ganz Deiner Meinung :)

  • @davidkroll9725
    @davidkroll9725 3 года назад +2

    Wie immer sehr informatives Video, danke für deine hervorragende Arbeit!
    Was die Patterns sind meine Top drei Singleton, Factory und Observer.

  • @notkha
    @notkha Год назад +1

    Gibt es weiter Videos über die bestimmten Entwurfsmuster und deren Anwendung/Vorteil/Nachteile wie zum Beispiel State Pattern, Factory Method, Decorator oder Observer?

  • @yutubl
    @yutubl Год назад +1

    Ja Deine 3 favorisierten Entwurfsmuster (Adapter, Singleton, Fabrik) finde ich auch wirklich wichtig. Mein erstes bewußt erlerntes Muster während meines Studiums war das sehr nützliche Iterator-Muster, später konnte ich mich für das Observer-Muster, Strategie-Muster und Command-Muster begeistern.

    • @DavidTielke
      @DavidTielke  Год назад

      Iterator war auch mein erstes :)
      Gruß David

  • @powlsn
    @powlsn Год назад

    Das Buch ist zwar schon verlost, aber hier meine top 3
    1. factory
    2. proxy
    3. composition
    Tolles Video David, lieben dank für deine Mühe

  • @MoWe42
    @MoWe42 3 года назад +1

    Ganz kurz was ich am meisten gebraucht hab: Adaptor, Decorator, Observer
    Und Allen ein schönes, besseres Neues Jahr

  • @crushl2451
    @crushl2451 2 года назад

    Gutes Video, um als purer Programmierer mal die Perspektive auf das zu bekommen, was noch vor einem liegt. Danke!

  • @onuryuksek7810
    @onuryuksek7810 3 года назад +2

    Gesundes und erfolgreiches neues Jahr,
    Sehr Schönes Video Dankeschön,
    Strategy
    Vermittler bzw. Mediator
    Facade

    • @DavidTielke
      @DavidTielke  3 года назад

      Hallo Onur,
      vielen Dank, sehr gerne!
      Gruß David

    • @onuryuksek7810
      @onuryuksek7810 3 года назад

      @@DavidTielke Hallo David,
      Kennst du Anki
      "Anki (basierend auf dem japanischen Wort 暗記 anki für „Auswendiglernen“) ist eine quelloffene Lernkartei-Software, ursprünglich vorrangig gedacht zum Erlernen von Fremdsprachen, wegen ihrer vielfältigen Einstellmöglichkeiten allerdings für das Einüben unterschiedlichster Inhalte geeignet. Für die Übungen benutzt Anki einen Algorithmus, dessen Wiederholungsintervall für einzelne Fakten gezielt für den Einbau in das Langzeitgedächtnis konzipiert ist" => Wikipedia
      => ich finde es wirklich sehr interessant was die Software alles kann.
      Vor allem das Man seine Decks offen zur Verfügung stellen kann.
      ankiweb.net/shared/decks/
      Jetzt zur meiner Frage:
      würdest du so ein Projekt in Angriff nehmen und einen Anki Deck für deine Community zur Verfügung stellen.
      Ich stelle mich gerne zur Verfügung (wenn du mir einen Script gibst, was ich zur Kartei Karten zusammen Fügen soll) => nur würde ich gerne die Unterteilung und Aufteilung komplett dem zertifizierten Trainer( alos dir ) überlassen...
      Die mühsamme Arbeit die Karteikarten zur einem deck zusammenzufügen würde ich übernehmen ^_^ sogar sehr gerne würde ich das machen...
      Liebe Grüße
      Onur

  • @robby7292
    @robby7292 3 года назад +1

    Videoreihe-Idee: Entwurfsmuster einzeln erklären und v.a. mit guten Beispielen untermauern. Man findet häufig nur abstrakte Erklärungen, die nicht richtig aufzeigen welches Problem durch ein Muster gelöst wird.
    Super Video, wie immer! Mega cool! :D

    • @DavidTielke
      @DavidTielke  3 года назад

      Hey Robby,
      genau diese Reihe ist gerade in Arbeit - bin mir nur unsicher ob ich erst damit anfange, oder lieber mit Systemarchitekturmustern :) Mal schauen was bis nächste Woche passiert ;)
      Gruß David

    • @robby7292
      @robby7292 3 года назад

      @@DavidTielke Mega cool! Freue mich schon drauf! Das ist wirklich eine gute Frage, womit man da lieber beginnt. Erinnert etwas an Bottom-Up oder Top-Down. Intuitiv würde ich fast sagen, dass zuerst Systemarchitekturmuster besser passen könnten :)

  • @michael_maurus
    @michael_maurus 2 года назад +1

    Das ist richtig Klasse! Ich habe deinen Kanal gleich mal abonniert. Besten Dank!

    • @DavidTielke
      @DavidTielke  2 года назад +1

      Hallo Michael,
      vielen Dank, das freut mich sehr! Schön das Du dabei bist!
      Gruß David

  • @WoW4332
    @WoW4332 11 месяцев назад

    Und jeder, der sich dieses Video angesehen hat, hat ein observer Pattern verwendet. :) (Der musste sein)
    Danke fürs Video.
    Und noch hab ich keine Lieblings Muster. Wir lernen es gerade und eben wegen dem Factory Muster bzw zum verständniss des selbigen, hab ich eigentlich auf das Video geklickt.

  • @manolomonetha8238
    @manolomonetha8238 3 года назад +3

    Echt informatives und gutes Video.
    P.S.: Deine Stimme klingt an manchen Stellen wie die Stimme des Sprechers bei der Sendung mit der Maus, hat mich kurz in meine Kindheit geworfen xD

    • @DavidTielke
      @DavidTielke  3 года назад +1

      Hey,
      danke, schön das es Dir gefällt :) Ich wäre begeistert, wenn das echt meine Stimme wäre - damit bin auch ich aufgewachsen :D
      Gruß David

  • @juantabuena6797
    @juantabuena6797 3 года назад +1

    Hallo David, bin ein großer Fan von deinem Channel. Habe durch deine Videos viel gelernt und möchte gerne weitere Videos bezüglich Design Patterns sehen. coole Arbeit mach weiter so!! :)

  • @Eratosthenes0815
    @Eratosthenes0815 Год назад

    Moin, moin!
    War zuerst etwas skeptisch, hab mir das Video aber trotzdem angesehen...
    Erkenntnis: "Echt amtlich, das Ganze!" - Sprich: Gefällt mir richtig gut. Werde es und Deinen Channel definitiv weiterempfehlen.
    Warum?
    - Weil die Themen für Entwickler extrem(!) wichtig sind und weil Deine Art der Präsentation, zumindest bei mir, sehr gut rüber kommt.
    - Weil das Thema genug Detailinformation enthält, trotzdem aber leicht verständlich bleibt
    => Es gefällt mir also... ;->

  • @sergioserafino1651
    @sergioserafino1651 3 года назад +1

    Hallo David,
    fühlte mich sehr angesprochen als du meintest "viel zu früh damit beschäftigt", da dies denke ich auch auf mich zutraf/-trifft : )
    - das 'Bridge'- Pattern fand ich einleuchtend und sehr interessant (den Rest kenne ich noch nicht so gut)
    weiter so!!

    • @DavidTielke
      @DavidTielke  3 года назад +1

      Hallo Sergio,
      interessant, das es Dir auch so ergangen ist :)
      Mache ich!
      Gruß David

  • @anibuffo
    @anibuffo 3 года назад +2

    Also meine drei Favoriten sind einmal das Composite Pattern (häufig die bessere Alternative zu Vererbungen), das Observer Pattern und dann wie bei dir noch das Factory Pattern.
    Das Buch klingt nach einem perfekten Zeitvertreib für die Semesterferien :)

    • @yutubl
      @yutubl Год назад

      Stimmt absolut!

  • @Schnickalodeon
    @Schnickalodeon 3 года назад

    Wie immer super Video. Habe in meiner bisherigen Laufbahn vor allem Singleton, UnitOfWork, Repository und MVC eingesetzt. Würde mich über Videos zu Patterns auf jeden Fall sehr freuen :)

  • @realGhandi
    @realGhandi 3 года назад +1

    Meine Top 3 in dieser Reihenfolge: 1) Factory 2) Singleton 3) Facade. Mir ging es übrigens ähnlich. Irgendwann dachte ich mir du musst dich unbedingt mal mit Design Patterns beschäftigen. Aber mit einfach mal durchlesen und dann hat man das drauf war leider nicht. Man wird erschlagen und legt das Thema erstmal wieder weg. Bis auf Singleton. Das versteht man recht einfach und kann sich vorstellen wofür man es brauchen kann. Facade hatte ich schon verwendet ohne das Design Pattern selbst zu kennen. Ein guter Systemdesigner hat es in einem Projekt, an dem ich mitarbeite, zur Verfügung gestellt. Factory Pattern verwende ich, wenn abzusehen ist, dass zu einer Anforderung unterschiedliche Ausprägungen geben wird.

    • @DavidTielke
      @DavidTielke  3 года назад

      Bin total bei dir Udo, dazu könnte man mal ein Video machen - Also welche Design Patterns in welcher Reihenfolge gelernt werden sollten, so das der Schwierigkeitsgrad kontinuierlich ansteigt. Aus meiner Erfahrung heraus wird man so wesentlich schonender und effizienter an das Thema Entwurfsmuster herangeführt.

  • @OlafSt
    @OlafSt 3 года назад +1

    Durch deinen Kanal und deine Videos bin ich ein sehr viel besserer Entwickler geworden, dafür an dieser Stelle ein megadickes Danke. Ich habe mich schon vor längerem mit Design Patterns befasst und war erstaunt, wieviele davon ich schon "aus dem Bauch heraus" anwende, ohne je was darüber gelesen zu haben. Tatsächlich ist deine Aussage, mit Patterns erst nach einer gehörigen Portion Erfahrung zu benutzen und dann auch sparsam damit umzugehen, unbedingt ernst zu nehmen - denn nach einem Riesen-Programm (damit sind Programm deutlich jenseits der 500K LoC gemeint), das völlig unstrukturiert zusammengeworfen wurde, ist ein Pattern polluted Programm wohl das zweitübelste Übel.
    Da ich in den letzten Jahren fast ausschließlich alte und älteste Software refactored habe (30 Jahre und älter), kommt bei mir hauptsächlich das Facade-Pattern zum Einsatz, denn meist haben solche uralten Programme, die dann auch gewaltig groß sind, viele hundert Klassen mit den unterschiedlichsten Schnittstellen, weil von den unterschiedlichsten Programmierern geschrieben. Und damit das überhaupt Klassen werden, brauchts oft das Adapter-Pattern - sonst kriegst den Kram nie in einen Sack 😀.
    Zweiter Platz ist die Factory, denn diese Klassenungeheuer müssen ja auch mal erzeugt werden.
    Alls drittes würde ich das Singleton-Pattern nennen. Irgendwo müssen all die globalen Variablen, nachdem man sie zusammengesucht hat und die doppelten, dreifachen und z.T. 8fachen Deklarationen (!!) zusammengefasst hat, ja hin.

    • @DavidTielke
      @DavidTielke  3 года назад

      Hey Olaf,
      Danke, das freu mich sehr :)
      Ja, scheinbar ging es hier vielen wie uns beiden: Ohne Erfahrung bringen Design Patterns oft nichts.
      Gruß David

  • @superhandy333
    @superhandy333 2 года назад +1

    Mein Favorit: Adapter-Entwurfsmuster

    • @DavidTielke
      @DavidTielke  2 года назад

      Hey Matthias,
      ebenfalls eins meiner Lieblinge :)
      Gruß David

  • @aikofrank36
    @aikofrank36 8 месяцев назад

    Als die Patterns in den 90ern neu waren, fand ich diese sehr interessant. Inzwischen sehe ich den Patterns, die zusätzliche Schichtungen/Schachtelungen schaffen also Factories und Facades etc. als wesentlichen Grund für überladenen und schlecht wartbaren Code (ganz zu schweigen von der Ineffizienz mit einhergehenden Performanz und zusätzlichen CO2 Footprint). andere Patterns wie Publish/Subscribe oder MVC erlauben geschickte Lösungen.

  • @martinbernasconi9208
    @martinbernasconi9208 3 года назад +2

    Meine Top 3: Builder, dazu passend Null-Objekt (wird gerne unterschätzt) und Adapter. Das neue Jahr fängt gut an. 😉

    • @DavidTielke
      @DavidTielke  3 года назад

      Hey Martin, bei dem Null-Objekt hast Du recht :)
      Gruß David

    • @yutubl
      @yutubl Год назад

      Ja vor einigen Jahren half mir tatsächlich überraschenderweise dass Nullobjekt zu einer viel unkomplizierteren und vor allem problemloseren Lösung.

  • @Sunny-wh6jr
    @Sunny-wh6jr 3 года назад +2

    Zu meinen Top 3 gehören Adapter, Factory Method und das Strategy Pattern. Bei meinen Studenten kann ich oft sehen, dass sie zu pattern pollution neigen nachdem sie sich mit dem Thema befasst haben. Das lässt aber auch schnell wieder nach. Für uns könntest du ja mal herausstellen warum es beim Factory Pattern (im Gegensatz zum Factory Method Pattern) zu Verstößen gegen das Open-Closed-Prinzip kommt.

    • @DavidTielke
      @DavidTielke  3 года назад +1

      Ja, die Pattern Pollution erledigt sich meist nach einer gewissen Zeit wieder - die Frage ist, was man bis daher durch die Design Patterns für eine technische Schuld erzeugt hat ;) Gute Idee mit dem Factory Pattern und OCP - packe es mal auf die Liste :)

  • @marcof7893
    @marcof7893 3 года назад

    Deine Videos sind immer sehr gut strukturiert und auch sehr verständlich erklärt. Weiter so!
    Würde mich über mehr Videos zu einzelnen Design Pattern im Detail freuen!

  • @l3vel1
    @l3vel1 3 года назад

    Hallo David,
    dir und deiner Familie ein guten und gesunden Start ins Jahr 2021. Ich freue mich schon sehr auf viele spannende Videos rund um Softwarequalität und -design. Ich habe im letzten Jahr enorm viel dazu gelernt und bin weiterhin hungrig mehr zu lernen.
    Meine Top 3 Patterns:
    Strategie
    Fassade
    Repositority
    Ansonsten verwende ich sicher noch einige mehr, auch ohne diese korrekt kennen oder benennen zu können. Aber auch daran kann und will ich arbeiten.

  • @alexanderbehling4680
    @alexanderbehling4680 2 года назад

    sehr gut erklärt.
    Meine Top 3 kann ich noch nicht nennen, da ich mich erst seit kurzem wieder mit Design Patterns beschäftige.
    Bislang habe ich nur das Singleton-Pattern für den DB-Zugriff
    genutzt. Habe mich damals auch mit der Gang of Four beschäftigt und habe es nicht verstanden.
    Da ich ohnehin der einzige Webentwickler in meiner Firma bin, war dies bislang auch nicht so wichtig.
    Nun habe ich aber ein Projekt bei dem ich alten PHP-Code (lauffähig bis 5.6) so überarbeiten muss, dass dieser auch mit PHP 7 / 8 problemlos läuft. Hierbei hat sich die enge Bindung zur Datenbank als Nadelöhr erwiesen, da die Aufrufe dieser Methoden sich durch zig Dateien ziehen.
    Auch sind leider in dem Code zahlreiche "Leichen" enthalten. Also Funktionen, die entweder nie genutzt wurden oder noch nie richtig funktioniert haben. Daher wollte ich meine freien Tage mal nutzen um mich mit Design Patterns auch den aktuellsten Stand zu bringen.

  • @thomasbednarczyk643
    @thomasbednarczyk643 3 года назад +2

    Meine Favoriten sind Fassaden-Muster, MVC-Muster und Beobachter-Muster ;).

  • @gruaba2
    @gruaba2 3 года назад

    Super Videom danke für den Überblick :)
    Meine Top 3: Adapter-Pattern, Strategy-Pattern, Template-Pattern

  • @biask89
    @biask89 3 года назад +2

    Moin David, also ich muss sagen, dass ich bisher nicht mit Pattern gearbeitet habe, mich allerdings seit geraumer Zeit intensiv mit Softwarearchitektur und Design beschäftige.
    Bei meinen Recherchen fällt mir immer mehr auf, dass auch wenn ich keine Pattern aktiv genutzt habe, sie trotz allem anwandte, indem ich sie mir selber erdacht habe.
    Momentan (seit gut 3 Monaten) erstelle ich in meiner Freizeit eine umfangreiche Programmierrichtline um neue Auszubildene und Kollegen zu unterstützen und stelle mir die Frage: „Ist es besser Programmieranfängern erstmal ins kalte Wasser zu werfen, oder sollten sie alles an die Hand bekommen, bzw. nur helfen wenn sie Fragen haben?“
    Sozusagen, man irrt sich empor und wenn man vermeintlich oben angelangt ist, versucht man es richtig zu machen.

    • @DavidTielke
      @DavidTielke  3 года назад

      Sehr gute Frage Bias, pack einen #FragDavid dran und wir machen mal ein Video dazu!

  • @perahoky
    @perahoky 8 месяцев назад

    Mein Liebling ist das Strategie Pattern. Man kann das so schön variieren und damit so oft komplexe Probleme lösen und sehr gut erweiterbar machen.
    Vor paar Jahren hatte ich die Aufgabe Objekte Beliebiger Farbe und Form über eine Service Schnittstelle zu schieben. Der Architekt meinte dass ich wohl jedes Objekt einzeln so implementieren soll. ich habe mich dem widersetzt und damit das Problem sehr viel einfacher und schneller gelöst. Leider durfte ich das Konzept dann nicht mehr selbst fertig umsetzen wodurch ziemlich viel Chaos (redundanzen, unlesbarkeit, zu viel Code der zu wenig macht etc) reingekommen ist unter dem wir jetzt leiden (was mich tierisch auf(ge)regt hat).
    Aber trotzdem: Strategie pattern! Setze ich immer wieder sehr gern eine. Zuletzt habe ich das leicht variiert angewandt in dem ich die gleichen Objekte woe zuvor für eine Export/Import Schnittstelle schubsen muss. Die Objekte müssen geladen und in die ExportImport Schnittstellen Objekte transferiert und serialisiert werden. Die alte Lösung von zuvor liest & schreibt jede Property einzeln mit manuellem Code (tausende Zeilen Redundanzen). Das ist auch super gut erweiterbar. man kann da ohne Probleme eine andere Variante für eine Ausnahme umsetzen. Sind einfach nur 2 interfaces :D

  • @arturhorst
    @arturhorst 2 года назад +1

    Hallo David. Erstmal danke für das tolle Video. Ich habe eine Frage zum Teil "Wann sind Design Patterns wichtig?". Kannst du Übungsaufgaben / Übungsprojekte empfehlen, die (die wichtigsten) Design Patterns für Junior Softwareentwickler zugänglich machen? Also ich meine nicht nur Anwendungsbeispiele zu bestimmten Problemstellungen, sondern wirklich Übungen, die man auch selbst machen kann. Gibt es sowas überhaupt? Würde mich über eine Antwort sehr freuen, weil ich mich mit Design Patterns beschäftigen möchte. Vielen Dank nochmal für deine Videos. Sind echt hilfreich.

    • @DavidTielke
      @DavidTielke  2 года назад

      Hey Artur,
      leider nein - solche Übungen sind mir nicht bekannt, ich halte sie auch nicht für sinnvoll. Junior Entwickler sollten sich mit anderen (Grundlagen)Themen beschäftigen, die Design Patterns kommen dann von ganz allein. Aber da kommt mir eine coole Video-Idee: Warum ich Design Patterns nicht mag, vielen Dank dafür ;)
      Gruß David

  • @alexandergabele
    @alexandergabele 3 года назад +1

    Meine Pattern sind die Singleton, Facade, Factory aber auch gern Repository ;)
    War mir bis vor ein paar Jahren auch nicht so recht bewusst, dass dies Design Patterns sind. Hab es auf dem Bauch raus schon "richtig" gemacht.
    Hatte, so wie du auch, mal ein bisschen dazu gelesen und nichts verstanden und mich auch gefragt was diese Mist soll.. mit der Erfahrung kam dann die Erleuchtung.

    • @DavidTielke
      @DavidTielke  3 года назад +1

      So ging es mir bei vielen Design Patterns ebenfalls - das ist leider so ein bisschen das Henne-Ei-Problem. Man benötigt Erfahrung um Design Patterns richtig zu verstehen und anzuwenden, allerdings nutzt man mit der entsprechenden Erfahrung meist schon diverse Design Patterns ohne es zu merken - hat sich diese aber hart "selbst erarbeitet" :)

  • @mplaimer
    @mplaimer 3 года назад +1

    Meine aktuell meist verwendeten Pattern
    Singleton
    Factory
    und dann kommt mal lange nichts, bin jedoch aktuell (naja seit eher 6 Monaten) noch dabei, dass ich mir die Patterns anschaue und durcharbeite. Jedoch fehlt da aktuell die Zeit und wie du auch erwähnt hast. Wenn man das Problem noch nicht hatte, aufgrund von fehlender Erfahrung dann fängt man mit den Erklärungen wenig an.

    • @DavidTielke
      @DavidTielke  3 года назад

      Hey Markus,
      viel Erfolg beim weiteren Einarbeiten :)
      Gruß David

  • @marcusschone296
    @marcusschone296 3 года назад +4

    Top Muster wäre wohl das Repository Pattern, dazu das UnitOfWork Pattern.

    • @DavidTielke
      @DavidTielke  3 года назад

      Ja guck, UoW hatte ich gar nicht auf dem Zettel :)

  • @dennist593
    @dennist593 Год назад

    Super informatives Video! Aber eines ist mir gerade unklar: Warum sollte man auf statische Methoden in der modernen Softwareentwicklung verzichten? 🤔 22:40

  • @becklink
    @becklink 3 года назад +1

    Meine Top 3: MVC - Singleton - Observer in IoT Anwendungen

    • @DavidTielke
      @DavidTielke  3 года назад +1

      Interessant Design Patterns mal aus dem IoT-Bereich zu hören :)
      Gruß David

  • @Aalii6
    @Aalii6 2 года назад

    klasse Video, danke!

  • @franzbiberkopf9179
    @franzbiberkopf9179 3 года назад +1

    Klasse Video! Grüße aus Rom.

    • @DavidTielke
      @DavidTielke  3 года назад

      Hallo Franz,
      schön das es Dir gefällt. Aus Rom, ernsthaft? :D
      Gruß David

  • @biphie
    @biphie 3 года назад +1

    Danke für das Video! Ich fand deine Erklärung von Design mit der Abgrenzung zur Softwarearchitektur sehr gut. Hast du evtl. eine Quelle für dein Schema bei 7:20? :)

    • @DavidTielke
      @DavidTielke  3 года назад +1

      Hallo Sophie,
      schön das Dir das Video gefällt. Was genau meinst Du mit Quelle? Von der Grafik? da habe ich keine direkte Quelle, aber in jedem guten Architekturbuch findest Du genau diese Informationen - Beispielsweise "Effektive Softwarearchitekturen" von Gernot Starke oder "Software Architect's Handbook" von Joseph Ingeno. Brauchst Du das für etwas wissenschaftliches?
      Gruß David

    • @biphie
      @biphie 3 года назад

      @@DavidTielke Danke, dann schau ich mir mal die Bücher an. 👍 Ich beschäftige mich im Rahmen einer wissenschaftlichen Arbeit aktuell mit Entwurfsmustern im Bereich der Automatisierungstechnik, deswegen. :)

  • @Palladin007
    @Palladin007 3 года назад +1

    Bei dieser Frage habe ich das Problem, dass es nur sehr wenige "Lieblings"-Patterns gibt, immerhin sind für jedes Projekt immer andere Muster relevant.
    Aber ein paar allgemeine Beispiele, die sehr oft vorkommen:
    Nummer 1 wäre bei mir die DependencyInjection in Verbindung mit einem geeigneten Container.
    Ich weiß ehrlich gesagt gar nicht mehr, wie man übersichtliche Software ohne DI entwickeln kann, hab ich früher mal gemacht, aber heute ... keine Ahnung :D
    Da hab ich aber auch schon mein persönliches Anti-Pattern: Service-Locator. Der Grundgedanke von DI ist da, nur gibt man viele Vorteile auf, weil man nicht umdenken kann/möchte.
    Ich bin ein Fan davon, dass Objekte nach der Erstellung nur noch möglichst wenig geändert werden können oder gar nicht - dadurch gibt's einfach weniger Fallstricke, besonders beim Multithreading.
    Das funktioniert natürlich nicht immer, aber in den Fällen, in denen es funktioniert, können Factory oder Builder eine große Hilfe sein.
    Ansonsten wären da noch Adapter, Decorator oder Facade, die ja alle drei eine gute Vereinfachung von komplexen Strukturen ermöglichen.
    Oder wenn es um wirklich sehr allgemeine Patterns geht: Lock und Observer, beides ist ja bereits in C# bereits implementiert.
    Ach ja: Mediator für Web-APIs

    • @DavidTielke
      @DavidTielke  3 года назад

      Bei Dependency Injection wär ich eher bei einem Prinzip, als bei einem Design Pattern ABER: Du hast total recht, ich kann es mir heute auch nicht mehr vorstellen :)

    • @Palladin007
      @Palladin007 3 года назад

      @@DavidTielke Ja, wann was nun welchen Oberbegriff hat, ist mir nicht immer so ganz klar, deshalb hab ich dir auch nicht drei, sondern massig genannt :D

  • @farrir3175
    @farrir3175 3 года назад +1

    Meine Top 3: Facade, Singleton, Factory

  • @dollares85
    @dollares85 3 года назад

    Mein Top 3: loan pattern, builder, composite

  • @stefanr.7485
    @stefanr.7485 3 года назад +1

    Meine TOP 3 sind: Factory, Decorator, Singleton

  • @michaelhahn4778
    @michaelhahn4778 3 года назад +1

    Meine top 3 sind: Singleton, Observer und Facade.

    • @DavidTielke
      @DavidTielke  3 года назад

      Observer wäre bei das Design Pattern auf Platz 4 gewesen :)

  • @stefanalpers7415
    @stefanalpers7415 3 года назад

    Ich nutze Factory, Strategy und Decorator.
    Wie entkräftest Du die Meinung, dass Singleton böse ist?

  • @CoderboyPB
    @CoderboyPB 3 года назад +1

    Ich persönlich mag das Strategy Pattern, es ist ja quasi die Grundlage für die Dependency Injection, Facade habe ich schon selbst angewendet und das Decorator Pattern beeindruckt mich jedes mal aufs Neue. Ich kam noch nie zum Einsatz, aber wenn ich es brauchen könnte, würde ich es in dem Moment erkennen.
    Was Factory angeht, so findet man in diesem kompletten Fullstack Kurs (engl sprachig) sehr viele Beispiel, die helfen zu verstehen, was das Factory Pattern ist, und wozu man es verwendet. Obendrein wird auch das Thema Dependency Injection ausführlich besprochen.
    Hoffe es ist OK, dass ich es hier verlinke, ich selbst habe nichts davon, will nur den Anderen hier was Gutes. :-)
    ruclips.net/p/PLA8ZIAm2I03jSfo18F7Y65XusYzDusYu5

    • @DavidTielke
      @DavidTielke  3 года назад

      Genau so geht es mir mit dem Decorator Design Pattern auch immer :D
      Gruß David

  • @reo1980
    @reo1980 3 года назад +1

    Gut, das Video ist jetzt ja schon von Anfang des Jahres und natürlich ist die Umfrage schon vorbei, aber ich möchte trotzdem kurz meine Meinung schreiben: Ein Video zu machen und dann eine Verlosung zu starten und dort dann nach den 3 TOP Themen zu fragen ist für mich kontraproduktiv. Wenn jemand "seine" 3 schon kennt, dann benötigt er das Buch wahrscheinlich schon nicht mehr. Vielleicht ist es sinnvoller die Verlosung eher für Leute zu machen, die sich erst damit anfangen mit dem Thema zu beschäftigen und nicht (nur) den Leuten, die sich damit schon auskennen. (Bitte dies als Verbesserungsvorschlag für die Zukunft sehen)
    Ansonsten aber ein gutes Video. Ich schaue dann mal die viele anderen in dem Kanal, die noch nachzuholen sind.

    • @DavidTielke
      @DavidTielke  3 года назад +1

      Hey,
      Hast total recht, so hab ich das noch gar nicht gesehen - war total unsinnig, danke!
      Gruß David

  • @Sebastian-zs8cp
    @Sebastian-zs8cp 2 года назад

    Habe ich es richtig verstanden das die Fassade die Klassen kollektiviert ?
    was fehlt noch mal unter Systemarchitektur, Softwarearchitektur, Design?
    also Systemarchitektur = Microservice, Monolith ist das nicht Softwarearchitektur. ?
    Softwarearchitektur = ddd, tdd
    Design = GoF

  • @geowody4914
    @geowody4914 3 года назад

    Facade, Adapter, Factory, aller drei gut zum entkoppeln.

  • @francisj.hunter1843
    @francisj.hunter1843 3 года назад +1

    Ich beschäftige mich nur Hobbymäßig mit Programmieren. Mir wurde gesagt ich sollte mich mit den "DesignPatterns" beschäftigen. Ich bin Anfänger, also sollte ich mich lieber vorher mit der Programmierung selber beschäftigen? Jedenfalls hört sich das im Video so an?
    MFG

    • @DavidTielke
      @DavidTielke  3 года назад

      Hallo Francis, ja das solltest Du definitiv. Ohne Erfahrung in den Bereich werden die Design Patterns nicht viel bringen.
      Gruß David

    • @francisj.hunter1843
      @francisj.hunter1843 3 года назад +1

      @@DavidTielke Ist wahrscheinlich dann auch der Grund wieso ich absolut keine Ahnung habe was mir dieses Buch vermitteln will. Okay dann werde ich es mal hinten einreihen und nur manchmal nen Blick reinwerfen :D

    • @DavidTielke
      @DavidTielke  3 года назад

      Vermutlich ja, bevor du frustriert bist und den Spaß verlierst, ist das besser so. Du wirst schon noch dazu kommen :)

    • @yutubl
      @yutubl Год назад

      Tipp: anschauliches Einsteigerbuch "Entwurfsmuster von Kopf bis Fuss" mit Java Beispielcode aber verständlich ich konnte es auch für C# gebrauchen. C++ sollte man wirklich gut können oder gleich zum C++Entwurfsmuster Klassiker der Gang of Four (GoF) greifen.

  • @majidsoleyman5184
    @majidsoleyman5184 3 года назад +1

    Meine top 3 sind: Factory, Singleton, Facade

  • @TheDarkRumo
    @TheDarkRumo 3 года назад +1

    Meine top 3 pattern sind decorator, strategy und repository

  • @000rapp
    @000rapp 3 года назад

    Singleton, Factory, Strategy :)

  • @JoachimDehm
    @JoachimDehm 3 года назад +1

    Visitor findet ich sehr wichtig

    • @DavidTielke
      @DavidTielke  3 года назад

      Hallo Joachim,
      ja, absolut! Allerdings verwende ich das nicht häufig genug :)
      Gruß David

  • @caoutchouc-cc
    @caoutchouc-cc Год назад

    Meine Kollegen mögen ehr lange ausschweifende Methoden und versuchen möglichst wenige Klassen zu benutzen damit der Solutiontree nicht so voll und unübersichtlich wird. Ich nenne es das Roman-Pattern wegen Klassen lang wie Kapiteln und Methoden wie Seiten. Innerhalb des Codes gibt es Kommentare - so viele Kommentare, dass sie ganze Dialoge zwischen Entwicklern abbilden. Es liest sich nicht schlecht aber trotzdem verschieben wir das Release-Date immer weiter. Auch unsere Teamatmosphäre ist anders. Wenn jemand es wagt Kritik zu üben werfen wir beleidigt den Schal über die Schulter - wir sind keine Entwickler , wir sind keine Programmierer - wir sind Autoren. Künstler die ein Meisterwerk erschaffen.

    • @caoutchouc-cc
      @caoutchouc-cc Год назад

      @DavidTielke Sie würden bestimmt mit einer Software Architektur starten. Das ist quatsch. Ein literarisches Meisterwerk fängt man nicht mit einem Inhaltsverzeichnis an. Man fängt es gar nicht an - es geschieht bis es fertig ist.

  • @eviyler2952
    @eviyler2952 2 года назад

    Danke ! bist du noch bei Google?

  • @r0bnet
    @r0bnet 3 года назад +1

    Nicht die Patterns, die ich am häufigsten nutze oder genutzt habe, aber die, die mir am meisten Arbeit erspart haben:
    1. Decorator
    2. Template
    3. State

    • @DavidTielke
      @DavidTielke  3 года назад

      Hey Robin,
      bei mir sind die meist genutzten auch in der Tat die, welche am meisten zeit sparen :)
      Gruß David

  • @DerBestesteKanalDerWelt
    @DerBestesteKanalDerWelt 3 года назад +1

    Meine sind 1. Singleton 2. Factory 3. Facade

  • @Marco_M84
    @Marco_M84 3 года назад

    Top 3 ist schwer, hier die mir gerade als erstes aus unseren Produkten einfallen:
    1. Adapter für Fremdkomponenten
    2. Factory für Initiale Strukturen
    3. Facade für komplexe Bereiche
    #FragDavid: Singleton wird bei uns auch verwendet, es wird aber auch von vielen als Antipattern gesehen. Wie ist deine Meinung hierzu?
    #FragDavid: Bist du der Meinung man sollte bei der Klasse den Namen des Patterns immer mit aufführen?
    z.B. LogXYZAdapter, PersonFactory, ThemaXYFacade?
    Also Facade habe ich noch nie in den Namen geschrieben Adapter/Factory aber immer. :-)
    -> Da sind wir wieder bei Codierrichtlinien

  • @floriangerlinghoff2649
    @floriangerlinghoff2649 3 года назад

    Drei Patterns, die ich gerne verwende, sind Decorator, Kompositum und natürlich Monaden.

  • @tubewatcher77
    @tubewatcher77 3 года назад +2

    Ich kenne nur drei: MVC, Strategy und Observer-Pattern.

    • @DavidTielke
      @DavidTielke  3 года назад

      Danke :)

    • @yutubl
      @yutubl Год назад

      Und in diesem Video wurden Dir noch mal 3 lohnenswerte gezeigt.

  • @harper482
    @harper482 3 года назад +1

    Singelton, Repository & Dependency Injection

  • @rene7952
    @rene7952 3 года назад +1

    Schon mal als Synchronsprecher gearbeitet? Könnte ich mir gut vorstellen.

    • @DavidTielke
      @DavidTielke  3 года назад

      Hallo René,
      noch nicht, könnte ich aber mal in Erwägung ziehen ;)
      Gruß David

  • @optimusbryan258
    @optimusbryan258 2 года назад

    Also ich habe gelernt, dass man auf Singletons verzichten sollte - (in objektorientierter Programmierung)

  •  3 года назад +1

    observer, factory, decorator

  • @elonado
    @elonado Год назад

    Methoden und Klassen gehören doch eigentlich sowohl zu Struktur als auch Quellcode.

  • @andreasdanek2561
    @andreasdanek2561 3 года назад

    Chain of Responsibility
    Mediator
    Command

  • @simplemanideas4719
    @simplemanideas4719 11 месяцев назад

    Kein Daumen hoch. Bin Singleton Antimaximalist. Lol!!

  • @tomatentheo6316
    @tomatentheo6316 3 года назад

    Jein. Ein Muster ist eine "Skizze" oder "Schablone" und stellt noch keine Lösung dar.

    • @DavidTielke
      @DavidTielke  3 года назад

      Hallo theo,
      jain, es ist sowohl eine Skizze, als auch eine Schablone und auch eine Lösung. Die Frage ist immer wofür es die Lösung ist - in dem Video geht es ja darum, dass es eine Lösung ist wenn du ein Problem bei Deinem Klassendesign lösen möchtest. Wennn dort beispielsweise das Problem ist, dann ein Objekt nur ein mal im Speicher existieren darf, ist das Singleton nicht nur eine Skizze, eine Schablone sondern in dem Kontext auch die Lösung. So war das gemeint :)
      Gruß David