Software Engineering Flashcards

1
Q

Was bedeuetet SOLID?

A
Single-Responsibility
Open-Closed
Liskov Substitution
Interface Segregation
Dependency Inversion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Single-Responsibility

A

Eine Klasse sollte nur einen Job erledigen müssen um dem Aufwand einer Änderung minimal zu halten

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

Open-Closed

A

Objekte sollten offen für Erweiterungen aber geschlossen für Modifikationen sein

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

Liskov Substitution

A

Eine Unterklasse sollte mind. genau soviel können wie seine Oberklasse.

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

Interface Segregation

A

Ein Client sollte kein Interface implementieren, dessen Funktionen es nicht benutzt. Aufteilung in mehrere Interfaces.

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

Dependency Inversion

A

High-Level Module sollten nicht von Low-Level Modulen abhängig sein, stattdessen von Abstraktionen.

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

Was ist Design by Contract?

A

Vorbedingung: Der Aufrufende muss sicherstellen, dass die Vorbedingungen erfüllt sind.
Nachbedingungen: Der Service muss sicher stellen dass die Nachbedingungen anhand der Vorbedingungen erfüllt sind.
Invariant: Der Invariant muss vor und nach dem Aufruf erfüllt sein.

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

Observer Pattern

A

Das Observable informiert alle Observer, wenn sich einer dieser geändert hat. Befindet sich auf Ebene 0 (Layer 0)

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

Command Pattern

A

Undo/Redo, Logging, Queue. Kommandos als Objekte

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

Strategy-Pattern

A

Das Strategy Design Pattern ermöglicht einer Klasse das flexible Wechseln von alternativen Verhalten

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

State Pattern

A

Erlaube einem Objekt sein Verhalten anhand von seinem inneren Zustand zu ändern

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

Singleton

A

Erlaube genau eine Instanz dieses Objekts. getInstance() Methode

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

Factory-Method

A

Das Factory Method Entwurfsmuster dient der Entkopplung des Clients von der konkreten Instanziierung einer Klasse

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

Abstract Factory Pattern

A

Das Abstract Factory Design Pattern dient der Definition einer zusammenhängenden Familie aus Produkten

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

Decorator Pattern

A

Das Decorator Design Pattern ermöglicht es, einem Objekt dynamisch neues Verhalten hinzuzufügen

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

Composite Pattern

A

Érlaubt es einer Gruppe mehrerer Objekte wie eine einzelne Instanz behandelt zu werden

17
Q

Facade Pattern

A

Das Facade Design Pattern definiert eine vereinfachte Schnittstelle zur Benutzung eines Systems oder einer Menge von Objekten

18
Q

Creational patterns

A
Abstract Factory
Factory Method
Singleton
Prototype
Builder
19
Q

Structual patterns

A
Adapter
Composite
Decorator
Facade
Bridge
Proxy
Flyweight
20
Q

Behavioural patterns

A
Chain of responsibility
Command
Observer
Strategy
State
Template Method
Visitor
Interpreter
Iterator
Mediator
Memento
Null Object
21
Q

Chain of responsibility

A

Verhindere coupling von Sender und Receiver indem weitere Objekte in eine Reihe geschaltet werden, welche die Anfrage behandeln können.