18 Architektur-Entwurfsmuster Flashcards

1
Q

Was ist ein Architekturmuster?

A

Ein Architekturmuster beschreibt eine bewährte Standardarchitektur für den Aufbau eines Softwaresystems. Es bietet eine allgemeine Lösung für wiederkehrende Probleme bei der Softwarearchitektur und hilft dabei, eine nachhaltige, durchdachte Struktur zu schaffen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist die Schichtenarchitektur und wann wird sie häufig verwendet?

A

Die Schichtenarchitektur organisiert eine Anwendung in mehreren Schichten, wobei jede Schicht Dienste für die darüberliegende Schicht anbietet. Sie wird häufig verwendet, wenn neue Funktionen auf ein bestehendes System aufgesetzt werden, wenn Funktionen auf verschiedenen Abstraktionsstufen benötigt werden oder wenn eine mehrstufige Sicherheit erforderlich ist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was sind die Vorteile und Nachteile der Schichtenarchitektur?

A
  • Vorteile: Ersetzung ganzer Schichten möglich, wenn die Schnittstellen erhalten bleiben.
  • Nachteile: Schichten lassen sich in der Praxis nicht immer sauber trennen, es kann Kommunikation über mehrere Schichten erforderlich sein, und es kann zu einem Performance-Verlust kommen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist die Client-Server-Architektur?

A

Die Client-Server-Architektur ist ein System, das aus einer Menge von Diensten besteht, die auf verschiedenen Servern angeboten werden. Clients nutzen diese Dienste. Diese Architektur wird häufig verwendet, wenn auf eine gemeinsam genutzte Datenbank von unterschiedlichen Orten aus zugegriffen werden muss oder bei transaktionsbasierten Web-Applikationen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was sind die Vorteile und Nachteile der Client-Server-Architektur?

A
  • Vorteile: Dienste können über ein Netzwerk verteilt sein, und jeder Dienst wird nur einmal implementiert, sodass alle Clients diese nutzen können.
  • Nachteile: Jeder Dienst ist anfällig für Serverausfälle, die Performanz ist nicht immer vorhersehbar, und es können Verwaltungsprobleme auftreten, wenn Server unterschiedlichen Firmen gehören.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist die Repository-Architektur?

A

Die Repository-Architektur speichert alle Daten in einem zentralen Speicher, dem Repository. Alle Systemkomponenten greifen auf dieses Repository zu, und alle Interaktionen zwischen den Komponenten finden indirekt über das Repository statt. Diese Architektur wird häufig bei datenorientierten Systemen verwendet, die große Mengen an Informationen erzeugen und speichern müssen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was sind die Vor- und Nachteile der Repository-Architektur?

A
  • Vorteile: Komponenten können unabhängig voneinander arbeiten, Änderungen in einer Komponente können sich auf alle anderen Komponenten auswirken, und Daten können konsistent verwaltet werden.
  • Nachteile: Das Repository ist ein “Single Point of Failure”, und die Organisation der Kommunikation über das zentrale Repository kann ineffizient sein.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist die Pipes-und-Filter-Architektur?

A

Die Pipes-und-Filter-Architektur besteht aus einer Reihe von Komponenten (Filtern), die Eingabedaten verarbeiten, transformieren und an andere Komponenten weitergeben. Diese Architektur wird häufig in datenverarbeitenden Anwendungen eingesetzt, bei denen Eingaben in getrennten Phasen verarbeitet werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was sind die Vorteile und Nachteile der Pipes-und-Filter-Architektur?

A
  • Vorteile: Diese Architektur ist einfach zu verstehen, passt gut zu vielen Geschäftsprozessen, die Transformationen können wiederverwendet werden, und sie kann sowohl sequentiell als auch parallel implementiert werden.
  • Nachteile: Es kann ein hoher Aufwand bei der Schnittstellendefinition entstehen, und sie ist nur für pipeline-artige Prozesse geeignet.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist die Microservice-Architektur?

A

Die Microservice-Architektur besteht aus kleinen, unabhängigen Services, die jeweils eine spezifische Aufgabe erfüllen. Diese Services kommunizieren über sprachunabhängige Schnittstellen (z.B. REST) und es gibt keine zentrale Datenhaltung. Diese Architektur ermöglicht eine bessere Skalierbarkeit und eine schnellere Entwicklung.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was sind die Vorteile und Nachteile der Microservice-Architektur?

A
  • Vorteile: Bessere Skalierbarkeit, klare Trennung von Kompetenzen, schnelle Entwicklung und Anpassbarkeit, sowie Ausfalltoleranz einzelner Services.
  • Nachteile: Höherer Entwicklungsaufwand durch Schnittstellenkommunikation, aufwendige Ausfallsicherheit, hoher Migrationsaufwand, schwieriges Debugging, und potenzielle Latenz in der Netzwerkkommunikation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly