Hallo,
wollte nur mal nachfragen, wer von Euch Enterprise Design Patterns wie zum Beispiel MVC, Session Facade, DTO oder ähnlich einsetzt?
Beziehungsweise, wenn nicht, wer hat schon davon gehört?
Viele Grüße,
Golo
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
Hi!
ich habe mal eine Frage: Weis jemand ein gutes Buch oder eine gute Website zu Design Patterns?
Kann diese Seite empfehlen. Übersicht über die grundlegenden Design Patterns mit Beschreibung, Klassendiagramm und C#-Beispielcodes. Allerdings in Englisch.
Achja, wer den Sinn aller Patterns dort verstanden hat, kann ja mal bescheid geben und Erklären 🙂 Es gibt da eben so Patterns die in der Praxis weniger eingesetzt werden. So, und jetzt ratet mal warum 😁 Ne, weiß nich, teilweise wird einem der Sinn dahinter nicht wirklich klar.
([bb]|[^b]{2})
Wenn Du mal schreibst, um welches Pattern es geht, reden wir weiter 😉
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
@golohaas.de:
Man nehme als Beispiel mal das Mediator Pattern. Das Chatroom-Beispiel is ja schön und gut, trotzdem erklärt es nicht wozu man sowas nun einsetzten kann 🙂
([bb]|[^b]{2})
danke für die Links. Werde mich mal durcharbeiten. Mal sehen welches Buch ich vielleicht kaufen werden 🙂
Original von NoOneKnows
Mediator Pattern.
Das Mediator Pattern ist imo ziemlich wichtig, habe es (implizit) schon mehrmals verwendet. Gerade bei WinForms ist es sehr nützlich falls viele Controls vorhanden sind die voneinander abhängen ...
Gerade bei einem gerade aktuellen Beitrag hier im Forum wäre es z.b. wohl besser verwendet worden 😉
Original von hauptmann
Hi!ich habe mal eine Frage: Weis jemand ein gutes Buch oder eine gute Website zu Design Patterns?
Zum MVC-Pattern gibt es bei Microsoft einen Link mit detaillierter Beschreibung: MSDN-Link
Habe selbst auch Interesse an Design-Pattern.
-yellow
Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).
Mein Blog: Yellow's Blog auf sqlgut.de
Gibt es dafür in der Enterprise-Version spezielle Klassen, oder warum liegt das hier bei Enterprise? 😉
Allgemein benutze ich recht strikt ein MVC-Modell. Allerdings darf man sich da meiner Meinung nach nicht blind von Pradigmen leiten lassen, die einige Sachen komplizierte machen als sie nötig sind. Wo sie allerdings sinnvoll erscheinen, sollten sie nach Möglichkeit umgesetzt werden.
Ich arbeite und entwickle Bespielweise an einem Projekt, welches auf einem Pocket dieses Conzept extrem umsetzt. Das geht soweit, das intern in der Control eine eigene Scriptsprache eingesetzt wird, um die Module zusammenspielen zu lassen.
Wenn das Programm startet, kennen die Forms, die Funktionen, die Datenbank in keinster Weise. Alle Module werden Anfangs dynamisch aus einem Plugin-Verzeichnis geladen, und je nach implementierten Interface in die entsprechenden Subcores gesteckt. Die Maincore wendet sich bei Bedarf an diese Subcores, um bestimmte Klassen mit anderen über Events und Delegates zu verknüpfen.
Die Forms haben keine eigene Funktionalität, sondern beinhalten lediglich Informationen welche(s) Template(s) auf Ihnen abgebildet werden. Die Controls auf den Templates enthalten eine Bezeichnung, welches Script (eigene Klasse/Sprache) ausgeführt werden soll, bei OnClick etc.
Die Subcore für die Forms reagiert auf jedes OnClick-Event, sucht das entsprechende Script raus, übergibt das an die Script-Core, die wiederum die benötigten Funktionen lädt, usw.
Klappt wunderbar, und dabei erstaulich performant, was mit Sicherheit auch daran liegt, das einige Forms schon im Hintergrund geladen, instanziiert und gecached werden, bevor sie eigentlich benötigt sind. Sowas lässt sich sehr einfach in der Scriptsprache managen.
Durch die strikte Trennung ist es nun möglich am PC umfangreiche Pocket-Projekte nahezu komplett zu erstellen. Benötigt werden nur die Funktionen, die natürlich in einer DLL vorliegen müssen.
Das Projekt parkt fast komplett in einer Datenbank, bzw. in einzelnen DLLs, und erst bei Start werden "die Fäden gezogen". 😉
Klingt alles sehr kompliziert, aber zum debuggen ist das absolut göttlich! Und es ist zudem extrem übersichtlich.
Ich denke das es kaum möglich ist, ein MVC- oder UPI-Modell oder wie auch immer man das nun nennt (ist in meinen Augen egal, wenn man erstmal kapiert hat worum es geht!) in C# noch weiter zu treiben.....
--
Man kann Scheisse nicht polieren!