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

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ม.ค. 2025

ความคิดเห็น •

  • @DavidTielke
    @DavidTielke  4 ปีที่แล้ว +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

  • @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.

  • @nifix777
    @nifix777 4 ปีที่แล้ว +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

    • @DavidTielke
      @DavidTielke  4 ปีที่แล้ว +1

      Danke nifix :)
      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

  • @crushl2451
    @crushl2451 2 ปีที่แล้ว

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

  • @prof.sebastian
    @prof.sebastian 2 ปีที่แล้ว +1

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

  • @honeyloop2746
    @honeyloop2746 4 ปีที่แล้ว +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  4 ปีที่แล้ว

      Danke, ganz Deiner Meinung :)

  • @IxFreeZe4TW
    @IxFreeZe4TW 4 ปีที่แล้ว +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  4 ปีที่แล้ว +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 ;)

  • @davidkroll9725
    @davidkroll9725 4 ปีที่แล้ว +2

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

  • @MoWe42
    @MoWe42 4 ปีที่แล้ว +1

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

  • @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 :)

  • @WoW4332
    @WoW4332 ปีที่แล้ว

    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.

  • @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

  • @notkha
    @notkha 2 ปีที่แล้ว +1

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

  • @onuryuksek7810
    @onuryuksek7810 4 ปีที่แล้ว +2

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

    • @DavidTielke
      @DavidTielke  4 ปีที่แล้ว

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

    • @onuryuksek7810
      @onuryuksek7810 4 ปีที่แล้ว

      @@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

  • @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!! :)

  • @yutubl
    @yutubl 2 ปีที่แล้ว +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  2 ปีที่แล้ว

      Iterator war auch mein erstes :)
      Gruß David

  • @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!

  • @Eratosthenes0815
    @Eratosthenes0815 2 ปีที่แล้ว

    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... ;->

  • @aikofrank36
    @aikofrank36 11 หลายเดือนก่อน

    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.

  • @sergioserafino1651
    @sergioserafino1651 4 ปีที่แล้ว +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  4 ปีที่แล้ว +1

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

  • @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 :)

  • @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

  • @michaelschreiber3863
    @michaelschreiber3863 หลายเดือนก่อน

    Adapter, Singleton und Facade
    Vielen Dank für dein Video. Ich schau mir deine Inhalte immer sehr gerne an. Würde mich mal freuen wenn man sich mal auf einer Konferenz trifft jedoch bin ich im Kotlin/Java Bereich unterwegs 😊

  • @l3vel1
    @l3vel1 4 ปีที่แล้ว

    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.

  • @superhandy333
    @superhandy333 2 ปีที่แล้ว +1

    Mein Favorit: Adapter-Entwurfsmuster

    • @DavidTielke
      @DavidTielke  2 ปีที่แล้ว

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

  • @biask89
    @biask89 4 ปีที่แล้ว +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  4 ปีที่แล้ว

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

  • @alexanderbehling4680
    @alexanderbehling4680 3 ปีที่แล้ว

    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.

  • @realGhandi
    @realGhandi 4 ปีที่แล้ว +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  4 ปีที่แล้ว

      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.

  • @perahoky
    @perahoky 11 หลายเดือนก่อน

    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

  • @gruaba2
    @gruaba2 4 ปีที่แล้ว

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

  • @OlafSt
    @OlafSt 4 ปีที่แล้ว +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  4 ปีที่แล้ว

      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

  • @dennist593
    @dennist593 2 ปีที่แล้ว

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

  • @anibuffo
    @anibuffo 4 ปีที่แล้ว +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 2 ปีที่แล้ว

      Stimmt absolut!

  • @Sunny-wh6jr
    @Sunny-wh6jr 4 ปีที่แล้ว +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  4 ปีที่แล้ว +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 :)

  • @mplaimer
    @mplaimer 4 ปีที่แล้ว +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  4 ปีที่แล้ว

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

  • @thomasbednarczyk643
    @thomasbednarczyk643 4 ปีที่แล้ว +2

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

  • @martinbernasconi9208
    @martinbernasconi9208 4 ปีที่แล้ว +2

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

    • @DavidTielke
      @DavidTielke  4 ปีที่แล้ว

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

    • @yutubl
      @yutubl 2 ปีที่แล้ว

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

  • @alexandergabele
    @alexandergabele 4 ปีที่แล้ว +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  4 ปีที่แล้ว +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" :)

  • @marcusschone296
    @marcusschone296 4 ปีที่แล้ว +4

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

    • @DavidTielke
      @DavidTielke  4 ปีที่แล้ว

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

  • @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. :)

  • @stefanalpers7415
    @stefanalpers7415 4 ปีที่แล้ว

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

  • @franzbiberkopf9179
    @franzbiberkopf9179 4 ปีที่แล้ว +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

  • @becklink
    @becklink 4 ปีที่แล้ว +1

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

    • @DavidTielke
      @DavidTielke  4 ปีที่แล้ว +1

      Interessant Design Patterns mal aus dem IoT-Bereich zu hören :)
      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

  • @dollares85
    @dollares85 4 ปีที่แล้ว

    Mein Top 3: loan pattern, builder, composite

  • @arturhorst
    @arturhorst 3 ปีที่แล้ว +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  3 ปีที่แล้ว

      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

  • @geowody4914
    @geowody4914 4 ปีที่แล้ว

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

  • @eviyler2952
    @eviyler2952 2 ปีที่แล้ว

    Danke ! bist du noch bei Google?

  • @farrir3175
    @farrir3175 4 ปีที่แล้ว +1

    Meine Top 3: Facade, Singleton, Factory

  • @Palladin007
    @Palladin007 4 ปีที่แล้ว +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  4 ปีที่แล้ว

      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 4 ปีที่แล้ว

      @@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

  • @stefanr.7485
    @stefanr.7485 4 ปีที่แล้ว +1

    Meine TOP 3 sind: Factory, Decorator, Singleton

  • @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 2 ปีที่แล้ว

      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.

  • @michaelhahn4778
    @michaelhahn4778 4 ปีที่แล้ว +1

    Meine top 3 sind: Singleton, Observer und Facade.

    • @DavidTielke
      @DavidTielke  4 ปีที่แล้ว

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

  • @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.

  • @TheDarkRumo
    @TheDarkRumo 4 ปีที่แล้ว +1

    Meine top 3 pattern sind decorator, strategy und repository

  • @majidsoleyman5184
    @majidsoleyman5184 4 ปีที่แล้ว +1

    Meine top 3 sind: Factory, Singleton, Facade

  • @r0bnet
    @r0bnet 4 ปีที่แล้ว +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  4 ปีที่แล้ว

      Hey Robin,
      bei mir sind die meist genutzten auch in der Tat die, welche am meisten zeit sparen :)
      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

  • @CoderboyPB
    @CoderboyPB 4 ปีที่แล้ว +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. :-)
    th-cam.com/play/PLA8ZIAm2I03jSfo18F7Y65XusYzDusYu5.html

    • @DavidTielke
      @DavidTielke  4 ปีที่แล้ว

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

  • @000rapp
    @000rapp 4 ปีที่แล้ว

    Singleton, Factory, Strategy :)

  • @Aalii6
    @Aalii6 2 ปีที่แล้ว

    klasse Video, danke!

  • @JoachimDehm
    @JoachimDehm 4 ปีที่แล้ว +1

    Visitor findet ich sehr wichtig

    • @DavidTielke
      @DavidTielke  4 ปีที่แล้ว

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

  • @DerBestesteKanalDerWelt
    @DerBestesteKanalDerWelt 4 ปีที่แล้ว +1

    Meine sind 1. Singleton 2. Factory 3. Facade

  • @floriangerlinghoff2649
    @floriangerlinghoff2649 4 ปีที่แล้ว

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

  • @harper482
    @harper482 4 ปีที่แล้ว +1

    Singelton, Repository & Dependency Injection

  • @tubewatcher77
    @tubewatcher77 4 ปีที่แล้ว +2

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

    • @DavidTielke
      @DavidTielke  4 ปีที่แล้ว

      Danke :)

    • @yutubl
      @yutubl 2 ปีที่แล้ว

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

  • @Marco_M84
    @Marco_M84 4 ปีที่แล้ว

    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

  • @optimusbryan258
    @optimusbryan258 2 ปีที่แล้ว

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

  •  4 ปีที่แล้ว +1

    observer, factory, decorator

  • @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

  • @andreasdanek2561
    @andreasdanek2561 4 ปีที่แล้ว

    Chain of Responsibility
    Mediator
    Command

  • @elonado
    @elonado ปีที่แล้ว

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

  • @simplemanideas4719
    @simplemanideas4719 ปีที่แล้ว

    Kein Daumen hoch. Bin Singleton Antimaximalist. Lol!!

  • @TheForge47
    @TheForge47 หลายเดือนก่อน

    Design Pattern? Ahja ich muss weg... 😂

  • @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