Architektur- und Entwurfsmuster der Softwaretechnik: Mit by Joachim Goll

By Joachim Goll

Architekturen von Softwaresystemen sollen einfach erweiterbar und weitestgehend standardisiert sein, damit die Entwickler sich leicht über Architekturen austauschen können. Für den objektorientierten Entwurf haben sich zahlreiche wertvolle Architektur- und Entwurfsmuster herausgebildet. Diese Muster basieren auf objektorientier­­ten Prinzipien wie dem Prinzip der Dependency Inversion. Daher werden zuerst die wichtig­sten objektorientierten Prinzipien erklärt. Anschließend wird gezeigt, wie diese objektorientierten Prinzipien in den verschie­denen Architektur- und Entwurfs­mustern umgesetzt werden. Alle vorgestellten Mus­ter werden durch lauffähige Bei­spiele in Java illustriert.

Inhalt

Prinzipien für den objektorientierten Entwurf: Abstraktion, Kapselung und details Hiding - Separation of issues und das unmarried Responsibility-Prinzip - Interface Segregation-Prinzip - free Coupling - Liskovsches Substitutionsprinzip - layout via agreement - Open-Closed-Prinzip - Dependency Inversion-Prinzip - Softwarearchitekturen: Definition des Begriffs Softwarearchitektur - Rolle des Softwarearchitekten - Qualitäten einer Softwarearchitektur - Referenzarchitekturen - Aufga­ben und Sichten bei der Konzeption einer Softwarearchitektur - Muster beim Softwareentwurf: Einsatz und Eigenschaften von Mustern - Abgren­zung zwischen Architekturmustern, Entwurfsmustern und Idiomen - Schema für die Beschreibung von Entwurfs- und Architekturmustern - Objektorientierte Entwurfsmuster: Klassifikation von Entwurfsmustern - Die Struk­turmuster Adapter, Brücke, Dekorierer, Fassade, Kompositum und Proxy - Die Verhaltensmuster Schablonenmethode, Befehl, Beobachter, Strategie, Vermittler, Zu­stand, Rolle, Besucher, und Iterator - Die Erzeugungsmuster Fabrikmethode, Ab­strak­te Fabrik, Singleton und Objektpool - Architekturmuster: Layers - Pipes and Filters - Plug-in - dealer - Service-Oriented Ar­chitecture - Model-View-Controller

Zielgruppe

Studierende der Informatik und der ingenieurswissenschaftlichen Disziplinen

Berufliche Umsteiger und Entwickler in der Praxis.

Autoren

Professor Dr. Joachim Goll und Professor Dr. Manfred Dausmann lehren und forschen an der Hochschule Esslingen.

Show description

Read Online or Download Architektur- und Entwurfsmuster der Softwaretechnik: Mit lauffähigen Beispielen in Java PDF

Similar programming: programming languages books

Objektorientierte Programmierung spielend gelernt: mit dem Java-Hamster-Modell

Bei der Entwicklung von Computerprogrammen haben sich inzwischen sowohl im Ausbildungsbereich als auch in der Industrie objektorientierte Programmiersprachen durchgesetzt, insbesondere die Programmiersprache Java. Dieses Lehrbuch vermittelt ausführlich und anhand vieler Beispiele alle wichtigen Konzepte der objektorientierten Programmierung mit Java.

Mike and Phani’s Essential C++ Techniques

C++ is the language of selection for constructing the main subtle home windows courses, however it is full of hidden traps for the unwary. Mike Hyman and Phani Vaddadi's no-nonsense booklet is helping C++ programmers steer clear of those traps by way of delivering worthy concepts gleaned from a mixed 30 years of expertise.

Additional info for Architektur- und Entwurfsmuster der Softwaretechnik: Mit lauffähigen Beispielen in Java

Sample text

Eine Nachbedingung ist eine Verpflichtung für den Aufgerufenen und ein Nutzen für den Aufrufer. Mit der Nachbedingung wird garantiert, dass der Aufrufer nach Ausführung einer Methode einen Zustand mit gewissen Eigenschaften vorfindet, natürlich immer unter der Voraussetzung, dass beim Aufruf der Methode die Vorbedingung erfüllt war. Bei einer Nachbedingung hat der Aufgerufene die Pflicht, den Nutzen hat der Aufrufer. Der Aufgerufene muss also die Nachbedingung überprüfen. Wie bei einem guten Vertrag im täglichen Leben haben also Aufrufer und Aufgerufener Pflichten und Vorteile.

Hierfür werden die beiden folgenden Techniken verwendet: x Dependency Look-Up Bei einem Dependency Look-Up sucht ein Objekt, das ein anderes Objekt braucht, nach diesem anderen Objekt z. B. in einem Register, um die Verknüpfung mit diesem herzustellen. Damit braucht es nur noch den Namen des anderen Objekts zu kennen und ist von dem anderen Objekt weitgehend entkoppelt. Aber natürlich hängt es dann vom Register ab. x Dependency Injection 13 Hierbei wird die Erzeugung von Objekten und die Zuordnung von Abhängigkeiten zwischen Objekten an eine dafür vorgesehende Instanz delegiert.

Diese Basisklasse kann sowohl die von allen Elementen in gleicher Weise genutzten Methoden und Eigenschaften kapseln, als auch Methodenköpfe als Vorgabe für die Implementierung der abgeleiteten Klassen vorweisen. Aufgrund der Abstraktheit der Methodenköpfe ist diese Basisklasse abstrakt. Daher kann keine Instanz von ihr gebildet werden. Außerdem müssen die von allen Elementen genutzten Methoden vor Veränderungen – beispielsweise durch Überschreiben – geschützt werden. Diese Methoden werden in UML leaf-Methoden genannt und werden in Java durch das Schlüsselwort final deklariert.

Download PDF sample

Rated 4.59 of 5 – based on 43 votes