3 - J (mae)
3 - J (mae)
3 - J (mae)
Set of flashcards Details
Flashcards | 58 |
---|---|
Language | Deutsch |
Category | Riddles and Jokes |
Level | Primary School |
Created / Updated | 04.01.2014 / 15.01.2014 |
Weblink |
https://card2brain.ch/box/3_j_mae
|
Embed |
<iframe src="https://card2brain.ch/box/3_j_mae/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Laufzeitsicht:
Zeigt das Verhalten des Systems (oder von Bausteinen). Zeigt wie zur Laufzeit die Instanzen der Bausteine des Systems miteinander und gegen aussen kommunizieren. Für alle wesentlichen UseCases sollte diese Sicht erstellt werden Folie
Technische Konzepte
Persistenz, Gestaltung der Benutzeroberflächen, Konzept für Fehlerbehandlung, Verteilung, Einsatz von Patterns, Frameworks
DDD
domain driven development
komplexe objektorientierte software genau einer Anwendungsdomäne anpassen
denn Software muss die Sprache der Menschen sprechen und nicht Menschen die Sprache der Software lernen. Domain Driven Design schafft genau dafür die Grundlage, indem eine gemeinsame Syntax – in der Regel die der Fachabteilung – als „Muttersprache“ für alle Softwareentwicklungsprozesse etabliert wird.
- Der Schwerpunkt des Softwaredesigns liegt auf der Fachlichkeit und der Fachlogik.
- Der Entwurf komplexer fachlicher Zusammenhänge sollte auf einem Modell der Anwendungsdomäne, dem Fachmodell basieren.
architekturmuster:
Domain Model
Schichten
Pipes und Filter
Repositories (Blackboard)
Broker (Makler)
Model-View-Controll
Broker (Makler)
Das Broker-Muster wird verwendet um die Zusammenarbeit in verteilten System zu koordinieren.
Ein Broker ist dabei verantwortlich für den Ablauf der Kommunikation verteilter Systeme sowie der technischen Übertragen von Anfragen, Ergebnissen und Ausnahmen.
Model-View-Controll
Model: Enthält die fachlichen Bestandteile des Systems, den sogenannten Anwendungskern. Das Model kapselt alle fachlichen Daten und Dienste. Die Controller (s. u.) rufen diese Dienste nach Anforderung durch Anwender auf.
View: Zeigen Informationen (grafisch) für die Benutzer an
Controller: Nehmen Benutzereingaben oder -events an und leiten sie an passende Model- oder View-Bestandteile weiter.
Arten von Design Pattern
Erzeugungs-Muster, Creational-Pattern
Struktur-Muster, Structural-Pattern
Verhaltens-Muster, Behavioral-Pattern
Singleton-Pattern
GIBT PROBLEME bei Multithreading!!!
Das Singleton Entwurfsmuster sorgt dafür, dass es von einer Klasse nur eine einzige Instanz gibt und diese global zugänglich ist.
Dafür wird der Konstruktur privat deklariert. Nun kann einzig der Singletoncode selbst das Singleton instanziieren.
Weiterhin definiert die Singletonklasse eine global verfügbare Methode z.B. getInstance(), in der diese einzigartige Singletoninstanz zurückgegeben wird.
02 Abstract Factory
Biete eine Schnittstelle zum Erzeugen von Familien verwandter oder voneinander abhängiger Objekte, ohne ihre konkreten Klassen zu benennen
verschiedene methoden, z.B createTier, createPflanze, in interface definiert..
verschiedene klassen können interface implementieren... Tier = elefant, Pflanze = Palme
03 Facory Method
Definiere eine Klassenschnittstelle mit Operationen zum Erzeugen eines Objekts, aber lasse Unterklassen entscheiden, von welcher Klasse das zu erzeugende Objekt ist.
Fabrikmethoden ermöglichen es einer Klasse, die Erzeugung von Objekten an Unterklassen zu delegieren.
04 Composite Pattern
Das Composite Entwurfsmuster ermöglicht es, eine verschachtelte (Baum)Struktur einheitlich zu behandeln, unabhängig davon, ob es sich um ein atomares Element oder um ein Behälter für weitere Elemente handelt. Der Client kann elegant mit der Struktur arbeiten.
08 Facade
Bietet eine einheitliche Schnittstelle (die "Fassade") anstatt einer Menge von Schnittstellen eines Subsystems. Die Fassadenklasse definiert eine "zentrale" Schnittstelle, welche die Benutzung des Subsystems vereinfacht.
09 Proxy
Kontrolliere den Zugriff auf ein Objekt mit Hilfe eines vorgelagerten Stellvertreterobjekts.
Observer = listener
Man verwendet einen Subjekt und einen Beobachter. Ein Subjekt kann eine beliebige Anzahl Beobachter "besitzen" (besser gesagt: Die Beobachter melden sich beim Subjekt an). Alle angemeldeten Beobachter werden (der Reihe nach!) benachrichtigt, wenn sich das Subjekt ändert. Als Reaktion auf diese Benachrichtigung synchronisiert sich jeder Beobachter mit dem Zustand des Subjekts. Das heisst jeder Beobachter frägt den (neuen) Zustand mit Hilfe von Anfragen an das Subjekt selber ab.
Entwurfsprinzipien
Einfachheit vor Allgemeinverwendbarkeit
Prinzip der minimalen Verwunderung (Erstaunliche Lösungen sind meist schwer verständlich)
Vermeiden Sie Wiederholung
Prinzip der einzelnen Verantwortlichkeit (Jede Klasse sollte eine strikt abgegrenzte Verantwortlichkeit besitzen)
Offen-Geschlossen-Prinzip (Software-Komponenten sollten offen für Erweiterungen, aber geschlossen für Änderungen sein)
Prinzip der gemeinsamen Wiederverwendung (Die Klassen innerhalb eines Pakets sollten gemeinsam wiederverwendet werden)
Keine zirkulären Abhängigkeiten
Prinzip der stabilen Abhängigkeiten (Führen Sie Abhängigkeiten möglichst in Richtung stabiler Bestandteile ein. Vermeiden Sie Abhängigkeiten von volatilen)
Liskov’sches Substitutionsprinzip (Unterklassen sollen anstelle ihrer Oberklassen einsetzbar sein, nichts überschreiben)
Prinzip der Umkehrung von Abhängigkeiten
Prinzip der Abtrennung von Schnittstellen
Prinzip solider Annahmen
Konvention vor Konfiguration
Was sind Design Pattern
Wiederverwendbare Lösungen
Eine Anzahl Regeln, die beschreiben, wie bestimmte Aufgaben im Gebiet der Softwareentwicklung zu lösen sind
Beziehen sich auf ein oft auftretendes Design-Problem
Identifizieren und spezifizieren Abstraktionen die, von der Komplexität her, über den Klassen, Instanzen oder Komponeneten liegen
Aufbau von Design Pattern
1. Der Name des Muster
2. Der Zweck des Musters: Das Problem, welches das Muster löst.
3. Wie man dieses Problem lösen kann
4. Die Einschränkungen und Bedingungen, die man beachten muss um das Problem zu lösen
Arten von Design Pattern
Creational
Abstract Factory, Factory Method, Singleton
Structural:
Composite, Facade, Proxy
Behavioral:
Observer