Schablonenmethode
Die Schablonenmethode ({{#invoke:Vorlage:lang|full|CODE=en|SCRIPTING=Latn|SERVICE=englisch}}) ist ein in der Softwareentwicklung eingesetztes Entwurfsmuster, mit dem Teilschritte eines Algorithmus variabel gehalten werden können.<ref>{{#invoke:Vorlage:Literatur|f}}</ref> Es gehört zur Kategorie der Verhaltensmuster (engl. {{#invoke:Vorlage:lang|flat}}). Das Muster ist eines der sogenannten Viererbanden-Entwurfsmuster (GoF).
Funktionsweise
Beim Schablonenmethoden-Entwurfsmuster wird in einer abstrakten Klasse das Skelett eines Algorithmus definiert. Die konkrete Ausformung der einzelnen Schritte wird an Unterklassen delegiert. Dadurch besteht die Möglichkeit, einzelne Schritte des Algorithmus zu verändern oder zu überschreiben, ohne dass die zu Grunde liegende Struktur des Algorithmus modifiziert werden muss. Die Schablonenmethode (engl. {{#invoke:Vorlage:lang|flat}}) ruft abstrakte Methoden auf, die erst in den Unterklassen definiert werden. Diese Methoden werden auch als Einschubmethoden bezeichnet.
Zusätzlich können in der Schablonenmethode an bestimmten Stellen Hook-Operationen aufgerufen werden, deren Standardimplementierung in der abstrakten Klasse nichts tut. Auf diese Weise kann man an vordefinierten Stellen im Algorithmus zusätzliche Funktionalität einfügen.
Als Variante können die Einschubmethoden oder Hook-Operationen auch eine Standard-Implementierung besitzen, die von den konkreten Klassen genutzt werden können, aber nicht müssen.
Ein Beispiel dazu findet sich in der I/O-Datenstrom-Programmierschnittstelle von Java. Dort implementiert ein OutputStream eine konkrete Methode zum Schreiben eines Byte-Arrays. Diese Methode benutzt eine Methode zum Schreiben eines einzelnen Bytes, um das ganze Array nach und nach zu schreiben. Die Methode für das einzelne Byte ist jedoch noch abstrakt, da ein OutputStream selbst noch nicht spezifisch ist. Klassen wie FileOutputStream können diese Methode implementieren. Sie erben dann eine bereits implementierte Methode zum Schreiben eines Byte-Arrays.
Policy-Based Design
Policy-Based Design ist ein allgemeineres Entwurfsmuster, bei dem nicht nur Algorithmen, sondern ganze Klassen schablonenhaft aufgebaut sind. Sowohl Methoden bzw. Algorithmen als auch gespeicherte Datensätze, Basisklassen und Schnittstellen sind dann innerhalb der Skelettstruktur austauschbar. Dies erfordert in aller Regel Templatemetaprogrammierung, wie es sie in C++ und D gibt, ist jedoch theoretisch auch über Konstrukte einiger Skriptsprachen (eval, Makros, Autoloading von Quellcode o. Ä.), allerdings kaum in Sprachen wie C# oder Java realisierbar.
Beispiel
Diese C++14 Implementierung basiert auf der C++98 Implementierung im Buch Entwurfsmuster. <syntaxhighlight lang="cpp">
- include <iostream>
- include <memory>
class View { // AbstraktKlasse public:
// definiert abstrakte primitive Operationen, die von konkreten Unterklassen definiert werden, um die Schritte eines Algorithmus zu implementieren.
virtual void doDisplay() {}
// implementiert eine Schablonenmethode zur Definition des Skeletts eines Algorithmus. Die Schablonenmethode ruft sowohl primitive Operationen als auch in AbstraktKlasse oder anderen Klassen definierte Operationen auf.
void display() {
setFocus();
doDisplay();
resetFocus();
}
virtual ~View() = default;
private:
void setFocus() {
std::cout << "View::setFocus\n";
}
void resetFocus() {
std::cout << "View::resetFocus\n";
}
};
class MyView : public View { // KonkreteKlasse
// implementiert die primitiven Operationen, welche die unterklassenspezifischen Schritte des Algorithmus ausführen.
void doDisplay() override {
// stelle den Inhalt der Anzeige dar
std::cout << "MyView::doDisplay\n";
}
};
int main() {
// Die Smart pointers verhindern Memory leaks. std::unique_ptr<View> myview = std::make_unique<MyView>(); myview->display();
} </syntaxhighlight>
Die Programmausgabe ist:
<syntaxhighlight lang="cpp"> View::setFocus MyView::doDisplay View::resetFocus </syntaxhighlight>
Einzelnachweise
<references />
Weblinks
- PHP hates me: Die Schablonenmethode in PHP (deutsch), 13. Februar 2009.
{{#if:||{{#ifeq:0|10|{{#ifeq:Schablonenmethode|Vorlage:Erweiterte Navigationsleiste||Vorlage:Templatetransclusioncheck Vorlage:Dokumentation/ruler}}}}}}<templatestyles src="Erweiterte Navigationsleiste/styles legacy.css" />Vorlage:Klappleiste/Anfang{{#if: |
}}{{#if: |
}}
{{#if: | {{#if: Adapter | Brücke | Decorator | Fassade | Fliegengewicht | Kompositum | Stellvertreter | {{#if:Strukturmuster||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 2|1|2}}px solid #FFF;border-bottom: {{#if: Verhaltensmuster|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|Strukturmuster }} {{#if: Beobachter | Besucher | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette | Interceptor | Nullobjekt | Protokollstapel | {{#if:Verhaltensmuster||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 3|1|2}}px solid #FFF;border-bottom: {{#if: Muster für objekt-relationale Abbildung|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|Verhaltensmuster }} {{#if: Datentransferobjekt | Table Data Gateway | Row Data Gateway | Active Record | Unit of Work | Identity Map | Lazy Loading | Identity Field | Dependent Mapping | Embedded Value | Serialized LOB | Inheritance Mapper | Metadata Mapping | Query Object | Command-Query-Responsibility-Segregation | {{#if:Muster für objekt-
relationale Abbildung||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 4|1|2}}px solid #FFF;border-bottom: {{#if: Nachrichten-
übermittlungsmuster|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|Muster für objekt-
relationale Abbildung }} {{#if: {{#if: File Transfer | Shared Database | Remote Procedure Invocation | Messaging|
| class="erw-nav-bild" style="width:0; padding:0 2px 0 0; border:1px solid transparent; " rowspan="{{#expr: 0{{#if:Abstrakte Fabrik | Erbauer | Fabrikmethode | Prototyp | Singleton | Multiton | Objektpool|+1}}{{#if:Adapter | Brücke | Decorator | Fassade | Fliegengewicht | Kompositum | Stellvertreter|+1}}{{#if:Beobachter | Besucher | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette | Interceptor | Nullobjekt | Protokollstapel|+1}}{{#if:Datentransferobjekt | Table Data Gateway | Row Data Gateway | Active Record | Unit of Work | Identity Map | Lazy Loading | Identity Field | Dependent Mapping | Embedded Value | Serialized LOB | Inheritance Mapper | Metadata Mapping | Query Object | Command-Query-Responsibility-Segregation|+1}}{{#if:{{#if: File Transfer | Shared Database | Remote Procedure Invocation | Messaging| }}{{#if:| }}|+1}}{{#if:Application Controller | Business Delegate | Data Access Object | Dependency Injection | Extension Interface | Fluent Interface | Inversion of Control (IoC) | Lock | Model View Controller (MVC) | Model View Presenter (MVP) | Model View Update (MVU) | Model View ViewModel (MVVM) | Page Controller | Registry | Remote Facade | Repository | Service Locator | Session State | Table Module | Template View | Threadpool | Transaction Script | Transform View | Two-Step View | Value Object|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}}}" |
{{{Untergruppe-Inhalt}}} }}
{{#if: File Transfer | Shared Database | Remote Procedure Invocation | Messaging |
{{#if:Integrationsarten||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 1|1|2}}px solid #FFF;border-bottom: {{#if: Nachrichtenaufbau|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Integrationsarten
}}
{{#if: Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator |
{{#if:Nachrichtenaufbau||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 2|1|2}}px solid #FFF;border-bottom: {{#if: Endpunkte|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Nachrichtenaufbau
}}
{{#if: Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator |
{{#if:Endpunkte||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 3|1|2}}px solid #FFF;border-bottom: {{#if: Kanäle|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Endpunkte
}}
{{#if: Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus |
{{#if:Kanäle||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 4|1|2}}px solid #FFF;border-bottom: {{#if: Nachrichtenvermittlung|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Kanäle
}}
{{#if: Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker |
{{#if:Nachrichtenvermittlung||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 5|1|2}}px solid #FFF;border-bottom: {{#if: Nachrichtenumwandlung|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Nachrichtenvermittlung
}}
{{#if: Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model |
{{#if:Nachrichtenumwandlung||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 6|1|2}}px solid #FFF;border-bottom: {{#if: Systemmanagement|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Nachrichtenumwandlung
}}
{{#if: Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger |
{{#if:Systemmanagement||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 7|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Systemmanagement
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 8|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 9|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 10|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 11|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 12|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:13|width:13;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 14|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:15|width:15;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 16|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:17|width:17;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:18|width:18;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 19|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 20|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
}} {{#if: Abstrakte Fabrik | Erbauer | Fabrikmethode | Prototyp | Singleton | Multiton | Objektpool | {{#if:Erzeugungsmuster||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 1|1|2}}px solid #FFF;border-bottom: {{#if: Strukturmuster|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|Erzeugungsmuster }} |
{{#if:Erzeugungsmuster | colspan="2"}} class="hlist" style="text-align: {{#if:Erzeugungsmuster|left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Abstrakte Fabrik | Erbauer | Fabrikmethode | Prototyp | Singleton | Multiton | Objektpool }} {{#if: | |
class="erw-nav-bild" style="width:0; padding:0 2px 0 0; border:1px solid transparent; " rowspan="{{#expr: 0{{#if:Abstrakte Fabrik | Erbauer | Fabrikmethode | Prototyp | Singleton | Multiton | Objektpool|+1}}{{#if:Adapter | Brücke | Decorator | Fassade | Fliegengewicht | Kompositum | Stellvertreter|+1}}{{#if:Beobachter | Besucher | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette | Interceptor | Nullobjekt | Protokollstapel|+1}}{{#if:Datentransferobjekt | Table Data Gateway | Row Data Gateway | Active Record | Unit of Work | Identity Map | Lazy Loading | Identity Field | Dependent Mapping | Embedded Value | Serialized LOB | Inheritance Mapper | Metadata Mapping | Query Object | Command-Query-Responsibility-Segregation|+1}}{{#if:{{#if: File Transfer | Shared Database | Remote Procedure Invocation | Messaging| }}{{#if:| }}|+1}}{{#if:Application Controller | Business Delegate | Data Access Object | Dependency Injection | Extension Interface | Fluent Interface | Inversion of Control (IoC) | Lock | Model View Controller (MVC) | Model View Presenter (MVP) | Model View Update (MVU) | Model View ViewModel (MVVM) | Page Controller | Registry | Remote Facade | Repository | Service Locator | Session State | Table Module | Template View | Threadpool | Transaction Script | Transform View | Two-Step View | Value Object|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}}}" | {{{Untergruppe-Inhalt}}} }}
{{#if: File Transfer | Shared Database | Remote Procedure Invocation | Messaging |
{{#if:Integrationsarten||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 1|1|2}}px solid #FFF;border-bottom: {{#if: Nachrichtenaufbau|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Integrationsarten
}}
{{#if: Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator |
{{#if:Nachrichtenaufbau||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 2|1|2}}px solid #FFF;border-bottom: {{#if: Endpunkte|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Nachrichtenaufbau
}}
{{#if: Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator |
{{#if:Endpunkte||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 3|1|2}}px solid #FFF;border-bottom: {{#if: Kanäle|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Endpunkte
}}
{{#if: Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus |
{{#if:Kanäle||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 4|1|2}}px solid #FFF;border-bottom: {{#if: Nachrichtenvermittlung|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Kanäle
}}
{{#if: Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker |
{{#if:Nachrichtenvermittlung||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 5|1|2}}px solid #FFF;border-bottom: {{#if: Nachrichtenumwandlung|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Nachrichtenvermittlung
}}
{{#if: Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model |
{{#if:Nachrichtenumwandlung||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 6|1|2}}px solid #FFF;border-bottom: {{#if: Systemmanagement|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Nachrichtenumwandlung
}}
{{#if: Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger |
{{#if:Systemmanagement||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 7|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Systemmanagement
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 8|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 9|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 10|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 11|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 12|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:13|width:13;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 14|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:15|width:15;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 16|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:17|width:17;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:18|width:18;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 19|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 20|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{{BILD}}}
}}{{#if: | |
class="erw-nav-bild" style="width:0; padding:0 2px 0 0; border:1px solid transparent; " rowspan="{{#expr: 0{{#if:Abstrakte Fabrik | Erbauer | Fabrikmethode | Prototyp | Singleton | Multiton | Objektpool|+1}}{{#if:Adapter | Brücke | Decorator | Fassade | Fliegengewicht | Kompositum | Stellvertreter|+1}}{{#if:Beobachter | Besucher | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette | Interceptor | Nullobjekt | Protokollstapel|+1}}{{#if:Datentransferobjekt | Table Data Gateway | Row Data Gateway | Active Record | Unit of Work | Identity Map | Lazy Loading | Identity Field | Dependent Mapping | Embedded Value | Serialized LOB | Inheritance Mapper | Metadata Mapping | Query Object | Command-Query-Responsibility-Segregation|+1}}{{#if:{{#if: File Transfer | Shared Database | Remote Procedure Invocation | Messaging| }}{{#if:| }}|+1}}{{#if:Application Controller | Business Delegate | Data Access Object | Dependency Injection | Extension Interface | Fluent Interface | Inversion of Control (IoC) | Lock | Model View Controller (MVC) | Model View Presenter (MVP) | Model View Update (MVU) | Model View ViewModel (MVVM) | Page Controller | Registry | Remote Facade | Repository | Service Locator | Session State | Table Module | Template View | Threadpool | Transaction Script | Transform View | Two-Step View | Value Object|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}}}" |
{{{Untergruppe-Inhalt}}} }}
{{#if: File Transfer | Shared Database | Remote Procedure Invocation | Messaging |
{{#if:Integrationsarten||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 1|1|2}}px solid #FFF;border-bottom: {{#if: Nachrichtenaufbau|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Integrationsarten
}}
{{#if: Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator |
{{#if:Nachrichtenaufbau||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 2|1|2}}px solid #FFF;border-bottom: {{#if: Endpunkte|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Nachrichtenaufbau
}}
{{#if: Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator |
{{#if:Endpunkte||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 3|1|2}}px solid #FFF;border-bottom: {{#if: Kanäle|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Endpunkte
}}
{{#if: Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus |
{{#if:Kanäle||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 4|1|2}}px solid #FFF;border-bottom: {{#if: Nachrichtenvermittlung|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Kanäle
}}
{{#if: Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker |
{{#if:Nachrichtenvermittlung||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 5|1|2}}px solid #FFF;border-bottom: {{#if: Nachrichtenumwandlung|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Nachrichtenvermittlung
}}
{{#if: Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model |
{{#if:Nachrichtenumwandlung||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 6|1|2}}px solid #FFF;border-bottom: {{#if: Systemmanagement|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Nachrichtenumwandlung
}}
{{#if: Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger |
{{#if:Systemmanagement||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 7|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|Systemmanagement
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 8|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 9|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 10|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 11|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 12|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:13|width:13;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 14|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:15|width:15;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 16|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:17|width:17;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: |1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:18|width:18;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 19|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
{{#if: |
{{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 20|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:;|}}"|'
}}
}} | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| {{#if:Strukturmuster | colspan="2"}} class="hlist" style="text-align: {{#if:Strukturmuster|left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Adapter | Brücke | Decorator | Fassade | Fliegengewicht | Kompositum | Stellvertreter }} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| {{#if:Verhaltensmuster | colspan="2"}} class="hlist" style="text-align: {{#if:Verhaltensmuster|left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Beobachter | Besucher | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette | Interceptor | Nullobjekt | Protokollstapel }} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| {{#if:Muster für objekt- relationale Abbildung |
colspan="2"}} class="hlist" style="text-align: {{#if:Muster für objekt- relationale Abbildung|left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"| Datentransferobjekt | Table Data Gateway | Row Data Gateway | Active Record | Unit of Work | Identity Map | Lazy Loading | Identity Field | Dependent Mapping | Embedded Value | Serialized LOB | Inheritance Mapper | Metadata Mapping | Query Object | Command-Query-Responsibility-Segregation }} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| {{#if:Integrationsarten | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
File Transfer | Shared Database | Remote Procedure Invocation | Messaging }} {{#if: | |
style="width:0%; padding:0 2px 0 0; " rowspan="{{#expr: 0{{#if:File Transfer | Shared Database | Remote Procedure Invocation | Messaging|+2}}{{#if:Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator|+2}}{{#if:Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator|+2}}{{#if:Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus|+2}}{{#if:Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker|+2}}{{#if:Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model|+2}}{{#if:Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}}}" | {{{BILD}}}
}}{{#if: | |
style="width:0%; padding:0 2px 0 0; " rowspan="{{#expr: 0{{#if:File Transfer | Shared Database | Remote Procedure Invocation | Messaging|+2}}{{#if:Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator|+2}}{{#if:Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator|+2}}{{#if:Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus|+2}}{{#if:Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker|+2}}{{#if:Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model|+2}}{{#if:Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}}}" | [[Datei:{{{Bild}}}|{{#if: | {{{Bild-px}}} | x{{#expr: 0{{#if:File Transfer | Shared Database | Remote Procedure Invocation | Messaging|+11}}{{#if:Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator|+11}}{{#if:Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator|+11}}{{#if:Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus|+16}}{{#if:Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker|+11}}{{#if:Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model|+11}}{{#if:Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger|+11}}{{#if:|+16}}{{#if:|+11}}{{#if:|+11}}{{#if:|+11}}{{#if:{{{Untergruppe-Inhalt12}}}|+16}}{{#if:|+11}}{{#if:|+11}}{{#if:|+11}}{{#if:|+16}}{{#if:|+11}}{{#if:|+11}}{{#if:|+11}}{{#if:|+16}}}}px}}{{#if: {{{Bild-Beschreibung}}} | | {{{Bild-Beschreibung}}} }}]]
}} | |
| {{#if:Nachrichtenaufbau | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator }} | |||
| {{#if:Endpunkte | colspan="2"}} class="hlist" style="text-align: {{#if:Endpunkte|left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator }} | |||
| {{#if:Kanäle | colspan="2"}} class="hlist" style="text-align: {{#if:Kanäle|left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus }} | |||
| {{#if:Nachrichtenvermittlung | colspan="2"}} class="hlist" style="text-align: {{#if:Nachrichtenvermittlung|left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker }} | |||
| {{#if:Nachrichtenumwandlung | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model }} | |||
| {{#if:Systemmanagement | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger }} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
{{#if: File Transfer | Shared Database | Remote Procedure Invocation | Messaging|}} |
{{#if:Nachrichten-
übermittlungsmuster||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 5|1|2}}px solid #FFF;border-bottom: {{#if: andere|2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|Nachrichten-
übermittlungsmuster
}}
{{#if:Nachrichten-
übermittlungsmuster
colspan="2"}} class="hlist" style="text-align: {{#if:Nachrichten-
übermittlungsmuster|left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:ja|0|0 .25em}};"|
{{#if: File Transfer | Shared Database | Remote Procedure Invocation | Messaging|
| {{#if:Integrationsarten | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
File Transfer | Shared Database | Remote Procedure Invocation | Messaging }} {{#if: | |
style="width:0%; padding:0 2px 0 0; " rowspan="{{#expr: 0{{#if:File Transfer | Shared Database | Remote Procedure Invocation | Messaging|+2}}{{#if:Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator|+2}}{{#if:Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator|+2}}{{#if:Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus|+2}}{{#if:Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker|+2}}{{#if:Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model|+2}}{{#if:Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}}}" | {{{BILD}}}
}}{{#if: | |
style="width:0%; padding:0 2px 0 0; " rowspan="{{#expr: 0{{#if:File Transfer | Shared Database | Remote Procedure Invocation | Messaging|+2}}{{#if:Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator|+2}}{{#if:Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator|+2}}{{#if:Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus|+2}}{{#if:Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker|+2}}{{#if:Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model|+2}}{{#if:Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}{{#if:|+2}}}}" | [[Datei:{{{Bild}}}|{{#if: | {{{Bild-px}}} | x{{#expr: 0{{#if:File Transfer | Shared Database | Remote Procedure Invocation | Messaging|+11}}{{#if:Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator|+11}}{{#if:Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator|+11}}{{#if:Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus|+16}}{{#if:Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker|+11}}{{#if:Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model|+11}}{{#if:Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger|+11}}{{#if:|+16}}{{#if:|+11}}{{#if:|+11}}{{#if:|+11}}{{#if:{{{Untergruppe-Inhalt12}}}|+16}}{{#if:|+11}}{{#if:|+11}}{{#if:|+11}}{{#if:|+16}}{{#if:|+11}}{{#if:|+11}}{{#if:|+11}}{{#if:|+16}}}}px}}{{#if: {{{Bild-Beschreibung}}} | | {{{Bild-Beschreibung}}} }}]]
}} | |
| {{#if:Nachrichtenaufbau | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator }} | |||
| {{#if:Endpunkte | colspan="2"}} class="hlist" style="text-align: {{#if:Endpunkte|left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator }} | |||
| {{#if:Kanäle | colspan="2"}} class="hlist" style="text-align: {{#if:Kanäle|left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus }} | |||
| {{#if:Nachrichtenvermittlung | colspan="2"}} class="hlist" style="text-align: {{#if:Nachrichtenvermittlung|left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker }} | |||
| {{#if:Nachrichtenumwandlung | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model }} | |||
| {{#if:Systemmanagement | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger }} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
| {{#if: | left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}} | |||
}}
}}
{{#if: Application Controller | Business Delegate | Data Access Object | Dependency Injection | Extension Interface | Fluent Interface | Inversion of Control (IoC) | Lock | Model View Controller (MVC) | Model View Presenter (MVP) | Model View Update (MVU) | Model View ViewModel (MVVM) | Page Controller | Registry | Remote Facade | Repository | Service Locator | Session State | Table Module | Template View | Threadpool | Transaction Script | Transform View | Two-Step View | Value Object | {{#if:andere||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 6|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|andere }} {{#if:andere left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
Application Controller | Business Delegate | Data Access Object | Dependency Injection | Extension Interface | Fluent Interface | Inversion of Control (IoC) | Lock | Model View Controller (MVC) | Model View Presenter (MVP) | Model View Update (MVU) | Model View ViewModel (MVVM) | Page Controller | Registry | Remote Facade | Repository | Service Locator | Session State | Table Module | Template View | Threadpool | Transaction Script | Transform View | Two-Step View | Value Object }}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 7|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 8|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 9|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 10|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 11|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 12|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 13|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 14|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 15|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 16|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 17|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 18|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 19|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 20|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 21|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 22|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 23|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 24|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 25|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 26|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 27|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 28|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 29|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 30|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 31|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: | {{#if:||class="erw-nav-gruppe" style="white-space: nowrap;text-align: right;{{#if:|background:#;|{{#switch:|eigen=background:#{{#if:||E6E6FF}};|einheitlich=background:;}}}}border: 1px solid transparent;border-top: {{#if: 32|1|2}}px solid #FFF;border-bottom: {{#if: |2|1}}px solid #FFF;padding: 0 1em;{{#if:|width:{{{Kopfbreite}}};|}}"|' }} {{#if: left|center}};border-left: 2px solid #fdfdfd;width: 100%;margin: .4em 0;border-color: #fdfdfd;padding: {{#if:|0|0 .25em}};"|
}}
{{#if: |
}}{{#if: |
}}{{#if: Siehe auch: Analysemuster | Architekturmuster | Integrationsmuster | SOA-Muster |