Kennt jemand etwas, was sich mit Architekturentscheidungen auseinander setzt?
Stichworte: Pattern, Vererbung, Interfaces.
Grüße,
Chris
"Wenn Architekten genauso bauen würden, wie Programmierer programmieren, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören." (Steven Weinberg)
Freeman, Robson, Bates, Sierra: Head First Design Patterns.
Die Gang-Of-Four-Entwurfsmuster ausführlichst erklärt, begründet und anhand von praktischen Beispielen implementiert. Bonus: das Buch verwendet Java als Sprache, so dass man den Code der Beispiele nicht 1:1 übernehmen kann, sondern nachdenken und ihn anpassen muss. Hat sich gezeigt, dass auf die Weise sogar mehr hängenbleibt.
LaTino
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)
Freeman, Robson, Bates, Sierra: Head First Design Patterns.
Die Gang-Of-Four-Entwurfsmuster ausführlichst erklärt, begründet und anhand von praktischen Beispielen implementiert. Bonus: das Buch verwendet Java als Sprache, so dass man den Code der Beispiele nicht 1:1 übernehmen kann, sondern nachdenken und ihn anpassen muss. Hat sich gezeigt, dass auf die Weise sogar mehr hängenbleibt.
Das Buch habe ich schon und finde es tatsächlich sehr gut. Ich suche so etwas an einem konkreten Projektbeispiel. Ist Dir da etwas bekannt?
Grüße,
Chris
"Wenn Architekten genauso bauen würden, wie Programmierer programmieren, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören." (Steven Weinberg)
Uh, nein, eher nicht (heisst nicht, dass es so was nicht gibt, mir ist nur nichts bekannt). Es gibt ein paar Videotutorials im Netz, auch ein Projekt für Vier Gewinnt aus einer Vorlesungsreihe[1], aber die leiden alle unter denselben Problemen:
Wenn man die Entwurfsmuster kennt und verinnerlicht hat, erkennt man auch Situationen, in denen man sie anwenden kann. Das ist eigentlich eine reine Erfahrungs/Übungssache. Was den Mangel an Lehrmaterial vielleicht ein bisschen erklärt. Schnapp dir ein Projekt, plane, organisiere, mach Fehler und lerne, wäre mein Rat 😃.
Grüße,
LaTino
[1] Hab's gefunden! https://www.youtube.com/watch?v=iX2hrsWsTT0
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)
Neben der Kenntnis von diesen Pattern braucht man noch das Wissen wann man diese einsetzt und (noch wichtiger) wann nicht.
Schau dir mal die Wikipedia-Seite zu Entwurfsmuster an. Da sind bei jedem Pattern auch die Vor- und Nachteile aufgeführt (ohne Anspruch auf Vollständigkeit).
Ein zwanghaftes Verwenden von Entwurfsmustern macht keine gute Software sondern provoziert meistens nur einen Krampf.
Diese Entwurfsmuster sind eher als ein Katalog von Lösungsmöglichkeiten zu sehen. Wenn du nach einer Implementierung für ein Problem suchst, dann kannst du in den Katalog schauen. Manchmal passen auch mehrere Entwurfsmuster und man sucht sich das mit den wenigsten Nachteilen und den größten Vorteilen aus.
Oder man macht es wie ein Bekannter von mir beim Kochen: Der liest das Rezept, nickt die ganze Zeit und beschließt dann "So mache ich das nicht!"
In Building Enterprise Applications with Windows® Presentation Foundation and the Model View ViewModel Pattern findest du ein Simples Beispiel für MMVM , 3 Schichten Architektur und den Repository Pattern.
In Patterns of Enterprise Application Architecture findest du noch weiter Pattern.
Developer's Guide to Microsoft Prism Library 5.0 for WPF kann man sich auch mal anschauen, dort kommen auch einige Pattern zum Einsatz.
Gut ist es natürlich auch mögliche Fehler zu vermeiden. Da kann man sich mal die Anti-Pattern anschauen.
Nett zum stöbern ist auch das Portland Pattern Repository. Da kann z.B nachlesen was man mit Hühnern in der Programmierung machen kann. Voodoo Chicken Coding . 😉
Sollte man mal gelesen haben:
Danke Euch, ich werde die Links mal sichten 👍
Grüße,
Chris
"Wenn Architekten genauso bauen würden, wie Programmierer programmieren, dann würde der erste Specht, der vorbeikommt, die Zivilisation zerstören." (Steven Weinberg)