<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Verhaltensmuster_%28Software%29</id>
	<title>Verhaltensmuster (Software) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Verhaltensmuster_%28Software%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Verhaltensmuster_(Software)&amp;action=history"/>
	<updated>2026-06-11T22:08:19Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Verhaltensmuster_(Software)&amp;diff=2696530&amp;oldid=prev</id>
		<title>imported&gt;Invisigoth67: typo</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Verhaltensmuster_(Software)&amp;diff=2696530&amp;oldid=prev"/>
		<updated>2024-01-07T17:15:40Z</updated>

		<summary type="html">&lt;p&gt;typo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;Verhaltensmuster &amp;#039;&amp;#039;&amp;#039; ([[Englische Sprache|englisch]] {{lang|en|&amp;#039;&amp;#039;behavioral design patterns&amp;#039;&amp;#039;}}) in der [[Softwareentwicklung]] sind [[Entwurfsmuster]], die komplexes Verhalten der Software modellieren. Auf diese Weise wird die Flexibilität der Software hinsichtlich ihres Verhaltens erhöht.&lt;br /&gt;
&lt;br /&gt;
Einige Verhaltensmuster werden üblicherweise sowohl mit [[Objektorientierte Programmierung|objektorientierten]]&amp;lt;ref name=&amp;quot;GO4&amp;quot;&amp;gt;{{Literatur |Autor=[[Erich Gamma]], [[Richard Helm]], [[Ralph Johnson|Ralph E. Johnson]], [[John Vlissides]] |Titel=Entwurfsmuster |TitelErg=Elemente wiederverwendbarer objektorientierter Software |Verlag=Addison-Wesley |Ort=München |Datum=2004 |ISBN=3-8273-2199-9 |Originaltitel=Design Patterns. Elements of Reusable Object-Oriented Software. |Originalsprache=en |Online=https://www.gofpatterns.com/behavioral/ |Abruf=2020-11-30}}&amp;lt;/ref&amp;gt; als auch [[Dynamische Programmierung|dynamischen]] und [[Funktionale Programmierung|funktionalen]] Programmiersprachen umgesetzt, andere üblicherweise nur mit letzteren.&amp;lt;ref name=&amp;quot;norvig&amp;quot;&amp;gt;{{Internetquelle |autor=[[Peter Norvig]] |url=http://norvig.com/design-patterns/ |titel=Design Patterns in Dynamic Languages |datum=1998-03-17 |abruf=2013-04-06 |format=PDF; PPT, |sprache=en}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;sierra&amp;quot;&amp;gt;{{Internetquelle |autor=Stuart Sierra |url=http://www.infoq.com/presentations/Clojure-Design-Patterns |titel=Functional Design Patterns |hrsg=InfoQ |datum=2013-04-03 |abruf=2013-04-06 |sprache=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vertreter ==&lt;br /&gt;
Die Verhaltensmuster können in verschiedene Gruppen unterteilt werden. Bei den funktionalen Verhaltensmuster werden beispielsweise Zustandsmuster, Data Building Muster, und Flusssteuerungsmuster unterschieden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- alphabetische Sortierung --&amp;gt;&lt;br /&gt;
;{{Anker|Accumulator}}Accumulator: Muster für Funktionen, die eine große Menge an Eingaben nimmt und kleine (skalare) Ausgaben produzieren, wie z.&amp;amp;nbsp;B. Lazy ausgewertete Sequenzen und Reduce-Funktionen. Accumulator ist ein Data Building Muster.&lt;br /&gt;
&lt;br /&gt;
;[[Beobachter (Entwurfsmuster)|Beobachter]] (englisch &amp;#039;&amp;#039;observer pattern&amp;#039;&amp;#039;)&amp;lt;ref name=&amp;quot;GO4&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;sierra&amp;quot; /&amp;gt;: Ist eine Art von Publish/Subscribe oder Ereignisbeobachter. Objekte oder Funktionen registrieren sich, um ein Ereignis zu erkennen, das von einem anderen Objekt erzeugt worden sein könnte. Die funktionale Variante entspricht im Wesentlichen der objektorientierten Version. In der funktionalen Programmierung ist das Beobachter Verhaltensmuster ein Flusssteuerungsmuster.&lt;br /&gt;
&lt;br /&gt;
;[[Besucher (Entwurfsmuster)|Besucher]] (englisch &amp;#039;&amp;#039;visitor pattern&amp;#039;&amp;#039;)&amp;lt;ref name=&amp;quot;GO4&amp;quot; /&amp;gt;: Ist eine Möglichkeit, einen Algorithmus von einem Objekt zu trennen.&lt;br /&gt;
&lt;br /&gt;
;{{Anker|Consequences}}Consequences&amp;lt;ref name=&amp;quot;sierra&amp;quot; /&amp;gt;: Jedes Ereignis kann mehrere Ereignisse auslösen. Erzeugte Ereignisse können Zustandsänderungen bewirken, Consequences ist somit ein Zustandsmuster&lt;br /&gt;
&lt;br /&gt;
;{{Anker|Einmaliger Besucher}}Einmaliger Besucher (englisch &amp;#039;&amp;#039;single-serving visitor pattern&amp;#039;&amp;#039;): Objekt das einen einmaligen Nutzer eines Systems, der angelegt, einmal verwendet und anschließend gelöscht wird, implementiert.&lt;br /&gt;
&lt;br /&gt;
;[[Hierarchischer Besucher]]: Stellt eine Möglichkeit, in einer hierarchischen [[Datenstruktur]] wie z.&amp;amp;nbsp;B. einem [[Baum (Graphentheorie)|Baum]] jeden [[Knoten (Graphentheorie)|Knoten]] zu erreichen.&lt;br /&gt;
&lt;br /&gt;
;[[Interpreter (Entwurfsmuster)|Interpreter]]&amp;lt;ref name=&amp;quot;GO4&amp;quot; /&amp;gt;: Implementiert eine spezielle Programmiersprache, um schnell eine spezifische Menge von Problemen zu lösen.&lt;br /&gt;
&lt;br /&gt;
;[[Iterator (Entwurfsmuster)|Iterator]]&amp;lt;ref name=&amp;quot;GO4&amp;quot; /&amp;gt;: Iteratoren werden zum Zugriff auf Elemente eines [[Aggregation (Informatik)|aggregierten Objekt]] verwendet.&lt;br /&gt;
&lt;br /&gt;
;[[Kommando (Entwurfsmuster)|Kommando]] (englisch &amp;#039;&amp;#039;command pattern&amp;#039;&amp;#039;)&amp;lt;ref name=&amp;quot;GO4&amp;quot; /&amp;gt;: Befehlsobjekte kapseln eine Handlung mit ihren Parametern.&lt;br /&gt;
&lt;br /&gt;
;[[MapReduce]]&amp;lt;ref name=&amp;quot;sierra&amp;quot; /&amp;gt;: Eine Reduktion von linearen Strukturen. MapReduce ist ein Data Building Muster.&lt;br /&gt;
&lt;br /&gt;
;[[Memento (Entwurfsmuster)|Memento]]&amp;lt;ref name=&amp;quot;GO4&amp;quot; /&amp;gt;: Stellt die Fähigkeit zur Verfügung, ein Objekt zu einem Vorgängerzustand wiederherzustellen (&amp;#039;&amp;#039;rollback&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
;[[Nullobjekt (Entwurfsmuster)|Nullobjekt]]: Wird als Vorgabewert für ein Objekt verwendet.&lt;br /&gt;
&lt;br /&gt;
;{{Anker|Planmäßige Tätigkeit}}Planmäßige Tätigkeit (englisch &amp;#039;&amp;#039;scheduled-task pattern&amp;#039;&amp;#039;): Eine Tätigkeit wird so geplant, dass sie in einem bestimmten Intervall oder (in [[Echtzeitbetriebssystem|Echtzeitsystemen]]) zu einer gewissen Uhrzeit stattfindet.&lt;br /&gt;
&lt;br /&gt;
;[[Protokollstapel]]&amp;lt;ref&amp;gt;{{Internetquelle |url=http://c2.com/cgi/wiki?ProtocolStack |titel=Protocol Stack |abruf=2013-07-02 |sprache=en}}&amp;lt;/ref&amp;gt;: Die Kommunikation wird über mehrere Schichten durchgeführt, die eine Datenkapselungshierarchie bilden.&lt;br /&gt;
&lt;br /&gt;
;{{Anker|Reduce/Combine}}Reduce/Combine&amp;lt;ref name=&amp;quot;sierra&amp;quot; /&amp;gt;: Eine Reduktion von baumartigen Strukturen. Reduce/Combine ist ein Data Building Muster.&lt;br /&gt;
&lt;br /&gt;
;{{Anker|Rekursive Erweiterung}}Rekursive Erweiterung&amp;lt;ref name=&amp;quot;sierra&amp;quot; /&amp;gt;: Rekursive Erweiterung ist ein Data Building Muster.&lt;br /&gt;
&lt;br /&gt;
;{{Anker|Reservierung}}Reservierung (englisch &amp;#039;&amp;#039;Reservation&amp;#039;&amp;#039;)&amp;lt;ref name=&amp;quot;soa&amp;quot; /&amp;gt;&lt;br /&gt;
: Eine Ressource wird für eine gewisse Zeit reserviert. Ein Beispiel ist ein Warenkorb, bei dem ein in den Warenkorb eines Benutzers aufgenommenes Objekt für eine Zeit reserviert wird. Wird der Bezahlungsvorgang nicht innerhalb der vorgegebenen Zeit abgeschlossen, wird das Objekt wieder für andere Benutzer freigegeben.&lt;br /&gt;
&lt;br /&gt;
;[[Schablonenmethode]] (englisch &amp;#039;&amp;#039;template method pattern&amp;#039;&amp;#039;)&amp;lt;ref name=&amp;quot;GO4&amp;quot; /&amp;gt;: Beschreibt das [[Skeleton (Programmierung)|Gerüst]] eines Programms&lt;br /&gt;
&lt;br /&gt;
;[[Schwache Referenz (Entwurfsmuster)|Schwache Referenz]] (englisch &amp;#039;&amp;#039;weak reference pattern&amp;#039;&amp;#039;)&amp;lt;ref&amp;gt;{{Internetquelle |autor=Ashod Nakashian |url=http://c2.com/cgi/wiki?WeakReferencePattern |titel=Weak Reference Pattern |abruf=2013-07-02 |sprache=en}}&amp;lt;/ref&amp;gt;: Entkoppelt ähnlich dem [[Beobachter (Entwurfsmuster)|Beobachter Entwurfsmuster]] einen Beobachter von einem zu beobachtenden (englisch &amp;#039;&amp;#039;observable&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
;[[Software Pipelining|Pipeline]]&amp;lt;ref name=&amp;quot;sierra&amp;quot; /&amp;gt;: Ein Prozess mit einem einzelnen Ausführungspfad der in mehrere diskrete Schritte aufgeteilt wird, wobei jeder Schritt ein ähnlich geformtes Ergebnis liefert. Pipeline ist ein Flusssteuerungsmuster.&lt;br /&gt;
&lt;br /&gt;
;[[Spezifikation (Entwurfsmuster)|Spezifikation]] (englisch &amp;#039;&amp;#039;specification pattern&amp;#039;&amp;#039;): Rekombinierbar Geschäftslogik in Boolischer Art und Weise.&lt;br /&gt;
&lt;br /&gt;
;[[Stapelveräußerlichung]] (englisch &amp;#039;&amp;#039;externalize the stack&amp;#039;&amp;#039;)&amp;lt;ref&amp;gt;{{Internetquelle |url=http://c2.com/cgi/wiki?ExternalizeTheStack |titel=Externalize The Stack |abruf=2013-07-02 |sprache=en}}&amp;lt;/ref&amp;gt;: Verwandelt eine [[Rekursion|rekursive Funktion]] in eine Iterative, die den [[Stapelspeicher|Stapel]] verwendet.&lt;br /&gt;
&lt;br /&gt;
;{{Anker|State/Event}}State/Event&amp;lt;ref name=&amp;quot;sierra&amp;quot; /&amp;gt;: Stellt einen beliebigen vorherigen Status durch Reduzierung über gespeicherte Ereignisse wieder her. State/Event ist ein Zustandsmuster&lt;br /&gt;
&lt;br /&gt;
;[[Strategie (Entwurfsmuster)|Strategie]] (englisch &amp;#039;&amp;#039;strategy pattern&amp;#039;&amp;#039;)&amp;lt;ref name=&amp;quot;GO4&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;sierra&amp;quot; /&amp;gt;: Dient zur Auswahl von unterschiedlichen, meist komplexen Algorithmen zur Laufzeit.&lt;br /&gt;
&lt;br /&gt;
;{{Anker|Token}}Token&amp;lt;ref name=&amp;quot;sierra&amp;quot; /&amp;gt;&lt;br /&gt;
: Wird verwendet, um eine Operation abbrechen und rückgängig machen zu können, wobei die Operation selbst keine bestimmte (benannte) Identität besitzt. Token ist ein Flusssteuerungsmuster.&lt;br /&gt;
&lt;br /&gt;
;[[Vermittler (Entwurfsmuster)|Vermittler]] (englisch &amp;#039;&amp;#039;mediator pattern&amp;#039;&amp;#039;)&amp;lt;ref name=&amp;quot;GO4&amp;quot; /&amp;gt;&lt;br /&gt;
: Stellt eine einheitliche Schnittstelle für eine Schnittstellenmenge eines Teilsystems zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
;{{Anker|Wrapper}}Wrapper&amp;lt;ref name=&amp;quot;sierra&amp;quot; /&amp;gt;&lt;br /&gt;
: Ein Prozess mit mehreren diskreten Schritten und einem einzelnen Hauptausführungspfad, jedoch einer möglichen Ausführungsverzweigung bei jedem Schritt. Dieses Muster darf nicht mit dem oft auch Wrapper genannten [[Adapter (Entwurfsmuster)|Adapter-Entwurfsmuster]] in objektorientierten Programmiersprachen verwechselt werden. Adapter ist ein Flusssteuerungsmuster.&lt;br /&gt;
&lt;br /&gt;
;[[Zustand (Entwurfsmuster)|Zustand]] (englisch &amp;#039;&amp;#039;state pattern&amp;#039;&amp;#039;)&amp;lt;ref name=&amp;quot;GO4&amp;quot; /&amp;gt;&lt;br /&gt;
: Ist ein sauberer Weg für ein Objekt, teilweise seinen Typ zur Laufzeit zu verändern.&lt;br /&gt;
&lt;br /&gt;
;[[Zuständigkeitskette]] (englisch &amp;#039;&amp;#039;chain of responsibility pattern&amp;#039;&amp;#039;)&amp;lt;ref name=&amp;quot;GO4&amp;quot; /&amp;gt;&lt;br /&gt;
: Befehlsobjekte werden durch logic-containing bearbeitende Objekte bearbeitet oder an andere Objekte übergeben.&lt;br /&gt;
&lt;br /&gt;
;[[Sicherung (Entwurfsmuster)|Sicherung]] (englisch &amp;#039;&amp;#039;{{lang|en|circuit breaker}}&amp;#039;&amp;#039;)&lt;br /&gt;
: Bei einer Häufung von Zugriffsfehlern auf eine Ressource, etwa aufgrund von Überlastung, wird der Zugriff auf diese Ressource für eine Zeit unterbunden.&lt;br /&gt;
&lt;br /&gt;
;[[Post/Redirect/Get]]&lt;br /&gt;
: Verhindert eine doppelte POST-Anfrage bei Webanwendungen.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Erzeugungsmuster]]&lt;br /&gt;
* [[Nebenläufigkeit (Entwurfsmuster)|Nebenläufigkeit]]&lt;br /&gt;
* [[Strukturmuster]]&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;soa&amp;quot;&amp;gt;&lt;br /&gt;
{{Internetquelle&lt;br /&gt;
 |autor=Arnon Rotem-Gal-Oz&lt;br /&gt;
 |url=http://arnon.me/soa-patterns/reservation/&lt;br /&gt;
 |titel=Reservation&lt;br /&gt;
 |werk=Cirrus Minor&lt;br /&gt;
 |abruf=2014-10-01&lt;br /&gt;
 |sprache=en}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navigationsleiste Entwurfsmuster}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Kategorien--&amp;gt;&lt;br /&gt;
[[Kategorie:Verhaltensmuster (Software)| ]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Invisigoth67</name></author>
	</entry>
</feed>