• Keine Ergebnisse gefunden

Wahlpflichtfach Design Pattern

N/A
N/A
Protected

Academic year: 2021

Aktie "Wahlpflichtfach Design Pattern"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm

Hochschule Harz

FB Automatisierung und Informatik

miwilhelm@hs-harz.de

http://www.miwilhelm.de

Raum 2.202

Tel. 03943 / 659 338

Wahlpflichtfach Design Pattern

(2)

Inhalt

1. Einleitung 2. Singleton 3. Observer 4. Decorator

5. Abstract Factory 6. Adapter

7. Facade 8. Mediator 8. Bridge 9. MVVM

10. Java Collection Framework

11. Command / Befehl

(3)

Entwurfsmuster: „Mediator“

Mediator-Pattern

– Verhaltens-Design-Pattern.

– Erlaubt die zentrale Kommunikation zwischen verschiedenen Klassen.

– Es ist eher eine lose Kopplung.

– Die Klassen sind meistens unabhängig voneinander.

– Eine direkte Kopplung zwischen zum Beispiel 100 Systemen ist sehr komplex.

– Durch das Mediator-Pattern entsteht eine Entkopplung zwischen den Systemen. Gleichzeitig entwickelt man eine einfachere Schnittstelle.

– Es gibt zwei Hauptklassen:

• Mediator

• Colleague

(4)

Entwurfsmuster: „Mediator“

IMediator

+Methoden

Mediator

+Methoden

abstract Colleague

+Methoden

Colleague1

+Methoden

Colleague2

+Methoden

Interface Ableitung lokale Ref.

Die Colleague haben eine lokale Referenz auf dem Mediator Der Mediator hat Referenzen auf alle Colleagues

(5)

Entwurfsmuster: „Mediator“

Beispiele

– Chat-Programm:

• Kommunikation zwischen den Mitgliedern.

– Betriebssystem

• Kommunikation zwischen Fenstern.

– Netzwerk

• Kommunikation zwischen Servern

(6)

1. Beispiel: Fensternachrichten

IMessageEngine

+Register(MessageThread) +Send(from, to, message);

Mediator

- HashTable messThreads

+Register(MessageThread) +Send(from, to, message);

abstract User

-messageEngine

+MessageThread(name) +Name():string

+MessageEngine():IME +Send(from, to, message);

+Receive(from, message)

ChatWindow

+ChatWindow(name) +Receive(from, message)

IMWindow

+IMWindow(name)

+Receive(from, message)

(7)

2. Beispiel: Fensternachrichten

IChatMediator

+addUser(User)

+sendMsg(User, String)

ChatMediatorImpl

- List<User> users

+addUser(User)

+sendMsg(String, User);

abstract User

-chatMediator -String name

#send(String)

#receive(String)

UserImpl

+send(String) +receive(String)

# abstract

(8)

2. Beispiel: Chat-Programm

(9)

2. Beispiel: Aufrufverbindungen

Mediator_MainFrame

-mediator (nsa) MediatorInternalFrame

User

UserInternalFrame

2. new Dialog

1. setGUI

-mediator (nsa)

addUser

hat

Mediator, NSA

create

3. all User

(10)

2. Beispiel: Ablauf einer Sendmessage

UserInternalFrame

Mediator, NSA

1. send Message

3. send to

MediatorInternalFrame

User

4. send to User

UserInternalFrame

MediatorInternalFrame

5. send to

UserInternalFrame

User

2. send Message

(11)

IChatMediator

sendMessage(msg, user, destName) addUser(User user)

removeUser(User user)

String[] getUsers(String name)

Mediator (Chef) - List<User> users

-IMediatorFrameUpdate +addUser(User)

+sendMsg(String, User);

+setMainUser(IMediatorFrameUpdate)

User

-IChatMediatorUserInternalFrame +send(String)

+receive(String)

+setUser(String[] users)

# abstract

UserInternalFrame -User user

+updateFromUser +setUsersFromUser AbstractUser

-IChatMediator -String name

#send(String)

#receive(String)

IChatMediatorUserInternalFrame

#updateFromUser(String msg);

#setUsersFromUser(String[] users);

IUserAddMediator +setMainUser

IMediatorFrameUpdate

#update(String msg);

Main-Ausgabe

user

(12)

MediatorInternalFrame - IUserAddMediator nsa +update(String msg);

JInternalFrame IMediatorFrameUpdate

#update(String msg);

IChatMediator

sendMessage(msg, user, destName) addUser(User user)

removeUser(User user)

String[] getUsers(String name)

Mediator (NSA) - List<User> users

-IMediatorFrameUpdate +addUser(User)

+sendMsg(String, User);

+setMainUser(IMediatorFrameUpdate) IUserAddMediator +setMainUser

UML: MediatorInternalFrame

Referenzen

ÄHNLICHE DOKUMENTE

Die Akademie für Mediation, Soziales und Recht ist aktives Mitglied und akkreditiertes Ausbildungsinstitut der Dachorganisation für Mediation in Deutschland, Deutsches Forum

Sie erlernen damit nicht nur einen einfachen, kraftvollen Weg, in- nere Konflikte zu lösen, indem Sie stressauslösende Überzeugungen hinterfragen, bis sie sich verändern,

wenn Sie den NLP Master, DVNLP nach der Ausbildung zum Mediator, DVNLP ergänzen oder nach einer bereits absolvierten anderweitigen Mediatoren Ausbildung (mind. 200 Std.) mit dem

Wenn Sie ein Mediator Projekt erzeugen, das als Flash oder HTML SCO (d.h. als SCORM kompatibler Kurs) exportiert werden soll, müssen Sie nichts spezielles beachten - außer den

Eine Gruppe von Individuen, die für uns eine oder mehrere gleiche Eigenschaften aufweisen!..

• Für Absolvent*innen des Kutschera-Resonanz ® Practitioner (Teil 1) und Kutschera- Resonanz® Master (Teil 2), die in die Liste der eingetragenen Mediator*innen in

Die Seite besteht aus folgenden Objekten, die über die Werkzeugbox und den Multimediakatalog eingefügt werden können:.. Überschrift-Text (E-Learning mit Mediator) aus

between Colleague objects. It is aware of all the  Colleagues and their purpose with regards to inter Colleagues and their purpose with regards to inter