Durchblick bei Anwendung mit unterschiedlichen Design Pattern



  • Ich beschäftige mich gerade mit Design Pattern und habe ein paar implementiert und auch verstanden. Beim Command Pattern wird es schon schwerer, aber auch da bekomme ich langsam den dreh raus.

    Mir kommt beim Lernen gerade so ein Gedanke. Wenn ich jetzt so etwas wie einen Command Processor mache und dort dann noch Composite, Strategy, Fabrics und sonst was miteinander verknüpfe, dann habe ich ein Geflecht, wo ich selbst nur noch schwer durch blicken würde.

    Wie muss dies aber erst sein, wenn ich auf ein bestehendes Projekt treffe? Wenn dieses auch noch eventuell nicht gerade wirklich 1A dokumentiert und gepflegt wurde, legt man sich da nicht schnell die Karten?

    Ich meine, dort dann noch den Programmfluss irgendwie nachvollziehen zu können, muss doch unheimlich schwer sein, oder?



  • Nein. Schwer wird es, wenn da nicht überall Dinge benutzt werden die man schon 1000 mal gesehen hat.



  • CppNeuland schrieb:

    Ich meine, dort dann noch den Programmfluss irgendwie nachvollziehen zu können, muss doch unheimlich schwer sein, oder?

    Jein... Muss auch nichts mit Design Patterns zu tun haben, ist bei Legacy Software (und wahrscheinlich nicht nur) ein grundsätzliches Problem. Bei unserer Software in der Arbeit ist es öfters schon etwas schwierig, den Durchblick zu behalten, und bei einigen Sachen kennen sich nur wenige Entwickler aus, wenn überhaupt. Dann kommen noch irgendwelche Workflows dazu, wo zwischendrin mehrmals Scripte aufgerufen werden, die irgendwas anderes auslösen, dann 3rdparty Komponenten irgendwas machen, irgendwelche Plugins, dann wieder unsere Komponenten, die indirekt mitreinspielen usw... Da haben wir schon öfters Probleme, die wir sehr lang untersuchen müssen. Geht noch halbwegs, wenn wir das selber nachvollziehen können, ab und zu heißt es aber, bei einem Kunden von einem Partner "geht was nicht".
    Ich denke, bei großer Software ist es mehr oder weniger normal. Was Design Patterns speziell angeht, seh ich das Problem eher weniger. Da blickt man irgendwann schon durch, debuggts mal durch und irgendwann kennt man sich aus.


Anmelden zum Antworten