Patterns: Intention vs Implementierung // deutsch

preview_player
Показать описание
Entwurfsmuster verfolgen eine Intention. Es gilt, in der Struktur der Software ein Problem zu lösen, und Entwurfsmuster haben sich für diese Aufgabe bewährt. In der Praxis müssen Entwurfsmuster daher in einer konkreten Programmiersprache implementiert werden, doch darf man nicht die Intention des Entwurfsmusters mit dessen Implementierung verwechseln. Was passiert, wenn man das doch macht?

────────────────────

Über the native web 🦄

Wir sind ein Beratungs-, Schulungs- und Entwicklungsunternehmen, das sich auf Web- und Cloud-Technologien spezialisiert hat. Wir streben nach intelligenten und eleganten Lösungen für komplexe Probleme, und wir glauben, dass Softwareentwicklung kein Selbstzweck ist. Stattdessen sollte Software tatsächliche Probleme der realen Welt lösen.

Wir glauben, dass native Web- und Cloud-Technologien das Fundament sind, auf dem die Zukunft aufbaut. Unsere Kernkompetenz ist der Entwurf und die Entwicklung verteilter Web- und Cloud-Anwendungen unter Verwendung dieser Technologien in interdisziplinären Teams. Wir entwickeln auch unser eigenes Open-Source-Framework namens wolkenkit. Und wir lieben es, unser Wissen in Schulungen und Workshops, auf Konferenzen und bei Usergroups zu teilen.

────────────────────

Weiterführende Links 🌍

Рекомендации по теме
Комментарии
Автор

Komplexes Thema, danke! Das Gang-of-4 Pattern Book bekommt aber selbst die Trennung von Intention und Implementierung nicht immer sauber hin, viele der Patterns dienen nur dazu, die Schwächen von C++ zu verdecken. In Common Lisp z.B. sind etliche Patterns zur Implementierung unnötig.

Zitat Peter Norvig (1996!) in "Design Patterns in Dylan or Lisp":

16 of 23 patterns are either invisible or simpler, due to:
* First-class types (6): Abstract-Factory, Flyweight, Factory-Method, State, Proxy, Chain-Of-Responsibility
* First-class functions (4): Command, Strategy, Template-Method, Visitor
* Macros (2): Interpreter, Iterator
* Method Combination (2): Mediator, Observer
* Multimethods (1): Builder
* Modules (1): Facade

foo