Was meint Ihr - Welche Designpatterns sollte man kennen?



  • Was meint ihr, welche Designpatterns sind die wichtigsten? Also ich kenne bereits State Patterns (sehr gute Erfindung muss ich sagen) und Singletons (bestimmt auch gut, wenn ich mal die Fehlermeldungen wegkrigen würde 🙂 ). Jetzt interessiert mich aber was ein "guter" Softwareentwickler noch so kennen sollte um vernünftige Programme schreiben zu können.

    Edit: Rechtschreibfehler beseitigt.



  • Also ich nutze derzeit hauptsächlich das Command Pattern (dem Forum sei Dank, hat man mich an dieses verwisen). Hierdurch kann man seehr einfach Undo- und Redo-Funktionalitäten realisieren.



  • Patterns sind keine Erfindungen!!!

    Viele Patterns sind einfach nur "logisch" und ich habe schon so manches Pattern angewendet (also selbst implementiert) ohne das ich es vorher kannte. Soll heißen, ich habe dessen Namen nicht gekannt, und wusste auch nicht das es irgendjemand vorher nieder geschrieben hat.

    Deshalb denke ich, das man Patterns nicht zwingend kennen muß. Vieles macht man rein instinktiv, wenn man sich mit dem Programmieren länger beschäftigt. Schaut man sich "Modernes C++ Design" an, wird man feststellen, das die Patterns immer verschieden implementiert werden können. Weil Patterns nur eine Beschreibung sind, mehr auch nicht.

    Ich glaube sogar, das in dem Buch drin steht, das Patterns keine Erfindungen sind. Wenn nicht in dem Buch, habe ich es woanders gelesen.

    Patterns "kennen" macht dann Sinn (sage nicht das es sinnlos ist!), um z.B. fremden Code schneller zu verstehen. Oder wenn ich mich mit einem Kollgen unterhalte, dann reicht es, wenn er mir sagt "Da wäre das Visitorpattern angebracht." Dann weiß ich, wie das ganze nachher in Code aussehen kann und er muß mir nicht noch groß erklären, was er meint. Es ist nur ein Kommunikationsmittel. Anstatt das jemand sagt "Ein Gerät mit vier Rädern und einem Verbrennungsmaschine mit dem man sich fortbewegen kann." reicht es "Auto" zu sagen. 😉

    Deshalb finde ich diesen ganzen Pattern-Hype überzogen. Wenn jemand das Vistorpattern nicht kennt, heißt das nicht, das er es nicht schon selber mal implementiert hat. Nur das sich das, was er gemacht hat, Visitorpattern schimpft, ist eine andere Geschichte.

    Andererseits kann man natürlich nicht ausschliessen, das z.B. jemand niemals ein Visitorpattern von sich aus implementiert hat. Aber meistens ergeben sich die Sachen alleine durch OO-Sprachfeatures... vielleicht auch nur in ähnlicher Form, wie sie mal in Literatur nieder geschrieben wurden. 😉



  • Artchi schrieb:

    Patterns sind keine Erfindungen!!!

    Viele Patterns sind einfach nur "logisch" und ich habe schon so manches Pattern angewendet (also selbst implementiert) ohne das ich es vorher kannte. Soll heißen, ich habe dessen Namen nicht gekannt, und wusste auch nicht das es irgendjemand vorher nieder geschrieben hat.

    Na gut da hab ich mich wohl ein bisschen falsch ausgedrückt. Man braucht aber auch ein gewisses Maß an Erfahrung um "intuitiv" ein Pattern zu implementieren.



  • Die Gang-of-four-Patterns sollte man IMO schon größtenteils kennen.



  • wobei diese nach meinem letzten Stand nicht mal bei Wikipedia komplett sind.
    Interpreter beispielsweise fehlt..


Anmelden zum Antworten