G s e a s m a t m ar a ch c i h tek e tur u I und IoC
|
|
- Ingeborg Schuler
- vor 8 Jahren
- Abrufe
Transkript
1 Gesamtarchitektur I und IoC
2 Schichten einer Web-Anwendung Initiiert durch J2EE und Spring: Strukturierte Sicht auf UI und Fachlogik (Domäne) Ergibt 5 Schichten: Man unterscheidet Präsentations- und Domänenmodell! UI Geschäftsmodell Presentation V UI Application (MC) Services C Domain M Sichtbare Komponenten UI-Zusammenhang: Navigation, Workflow, Anwendungsobjekte, Use Cases, Session, Verbindung zu Services Geschäftslogik und Transaktionen: Use-Cases, Objektübergreifende Operationen, Objektverwaltung (Suchen, Auflisten...) Fachlogik Domänenmodell, persistente Einheiten Persistenz Persistence Persistenzoperationen, Persistenzverwaltung. (c) schmiedecke 07 SE2-11-Anforderungsmanagement 2
3 Mail-Service Analysemodell User +loggedin Mail +timestamp +text Contact Header appendix login.jsp MailList.jsp MailViewer.jsp NotSent.jsp MailEditor MailSent.jsp (c) schmiedecke 07 SE2-11-Anforderungsmanagement 3
4 Mail-Service CRUD-Prototyp Zu jeder Model-Klasse wird eine Controller-Klasse und eine JpaController-Klasse generiert. Die Controller-Klasse enthält alle Attribute und Methoden, die die JSPs benötigen. Backing Bean Die JpaController-Klasse stellt den Zugang zu den Persistenten Objekten her. Service (c) schmiedecke 07 SE2-11-Anforderungsmanagement 4
5 CRUD-Architektur class MailCRUD FacesServ let mail.list.j sp mail.details.j sp mail.edit.j sp user.list.j sp user.details.j sp user.edit.j sp MailController UserControlle r MailJpacontroller UserJpaControlle r (c) schmiedecke 07 SE2-11-Anforderungsmanagement 5 Mail Us er
6 CRUD-Architektur Anwendungsarchitektur Echte GUIs sind an Use Cases ausgerichtet Services sind am Domain Model ausgerichtet Assoziationsgebüsch FacesServlet Login.jsp MailList.jsp MailViewer.jsp MailEditor.jsp SendingStatus.jsp <<ManagedBean>> UserServiceBean <<ManagedBean>> MailServiceBean <<ManagedBean>> ContactServiceBean EntityManager EntityManagerFactory <<ManagedBean>> PersistenceManager (c) schmiedecke 07 SE2-11-Anforderungsmanagement 6
7 Aufräumen mit einer Session Facade FacesServlet Login.jsp MailList.jsp MailViewer.jsp MailEditor.jsp SendingStatus.jsp <<ManagedBean>> MailSessionFacade <<ManagedBean>> UserServiceBean <<ManagedBean>> MailServiceBean <<ManagedBean>> ContactServiceBean Hier wird das Domain Model angefügt - später (c) schmiedecke 07 SE2-11-Anforderungsmanagement 7
8 Abhängigkeiten zwischen Schichten FacesServlet Login.jsp MailList.jsp MailViewer.jsp MailEditor.jsp SendingStatus.jsp <<ManagedBean>> MailSessionFacade <<ManagedBean>> UserServiceBean <<ManagedBean>> MailServiceBean <<ManagedBean>> ContactServiceBean Rote Assoziationen können nicht naiv gesetzt werden. Alternative? Klebstoff benötigt (c) schmiedecke 07 SE2-11-Anforderungsmanagement 8
9 IoC Inversion of Control Objektmanagement durch die Umgebung IoC-Framework Oder als IoC-Pattern implementiert Service-Konzept: Anwendung "bestellt" Objekt: "brauche ContactServiceBean" Framework liefert, gemäß Spezifikation, neues Objekt aktuell verfügbares Objekt allgemein veröffentlichtes Objekt kümmert sich um Instanziierung, Verwaltung, Thread-Safety,... Beliefern Dependency Injection (c) schmiedecke 07 SE2-6-IoC-Frameworks 9
10 IoC - Klebstoff oder Trennmittel? Eine Frage der Sichtweise Wenn man Klebstoff hat, muss man die Schichten nicht hart verdrahten: IoC gilt als Technik der Schichtentrennung (c) schmiedecke 07 SE2-6-IoC-Frameworks 10
11 Direkte Instanziierung direkte Kontrolle A B A B public class A { private B b; 1 : new() public A() { b = new B(); } } Entwurfsentscheidungen: 1. A benötigt Referenz auf B. 2. B ist eine konkrete Klasse mit Standard-Konstruktor. 3. A besitzt die Referenz auf B exklusiv. (c) schmiedecke 07 SE2-6-IoC-Frameworks 11
12 Veränderungen an B wirken sich aus: A C B 1 : new C() 2 : new B() public class A { private B b; public A() { C c = new C(); b = new B(c); } } Geänderte Entwurfsentscheidung, z.b.: kein Standardkonstruktor für B B ist abstrakte Klasse. (c) schmiedecke 07 SE2-6-IoC-Frameworks 12
13 Umkehrung der Kontrolle: IoC-Framework erzeugt B-Instanz A B IoCFramework 2 : setb() 1 : create() public class A { private B b; public A() {} public void setb(b b) { this.b = b; } } Dependency Injection Änderungen an B wirken sich nicht aus. B muss keine konkrete Klasse sein. A-Instanzen müssen vor Benutzung mit B-Referenz "versorgt" sein. (c) schmiedecke 07 SE2-6-IoC-Frameworks 13
14 Dependency Injection Typ 1 Interface Injection PersistenceManager DataSource import org.apache.avalon.framework.*; public class PersistenceManager implements Serviceable { DataSource datasource; public void service (ServiceManager sm) throws ServiceException { datasource = (DataSource)sm.lookup("dataSource"); } public void getdata() { // use datasource PersistenceManager IoCFramework Service // to do some work 1 : create() } } 2 : service() 3 : lookup() (c) schmiedecke 07 SE2-6-IoC-Frameworks 14
15 Diskussion Interface Injection + keine Konfiguration erforderlich. - Java-Code ist framework-spezifisch. (c) schmiedecke 07 SE2-6-IoC-Frameworks 15
16 Dependency Injection Typ 2 Setter Injection PersistenceManager DataSource // Spring Framework: PersistenceManager ist normales Bean public class PersistenceManager { DataSource datasource; public void setdatasource(datasource datasource) { this.datasource = datasource; } public void getdata() { // use datasource to do some work } <bean } id="datasourcebean" class="..."> <property name="driverclassname"> <value>com.mydb.jdbc.driver</value> </property> <property name="url"> <value>jdbc:mydb://server:port/mydb</value> </property> <property name="username"> <value>root</value> </property> </bean> <bean id="persistencemanagerbean" class="example.persistencemanager"> <property name="datasource"> <ref bean="datasourcebean"/> </property> </bean> (c) schmiedecke 07 SE2-6-IoC-Frameworks 16
17 Diskussion Setter Injection + Java-Code ist Framework-unabhängig + Testumgebung einfach in XML konfigurierbar (Dummy- Objekte) - Die Abhängigkeit ist im Code nicht erkennbar. - Abhängigkeiten können nicht zur Compilezeit validiert werden. - DataSource muss public sein würde man eigentlich gern verbergen. (c) schmiedecke 07 SE2-6-IoC-Frameworks 17
18 Dependency Injection Typ 3 Constructor Injection PersistenceManager DataSource // PicoContainer Framework: keine Konfiguration public class PersistenceManager { DataSource datasource; public PersistenceManager(DataSource datasource) { this.datasource = datasource; } public void getdata() { // use datasource to do some work } } // die Klasse wird nicht direkt instanziiert, // sondern vom PicoContainer "besorgt". // Vorher muss sie unter "key" registriert sein, s.u. pico.getcomponentinstance(key); (c) schmiedecke 07 SE2-6-IoC-Frameworks 18
19 Dependency Injection Typ 3 Constructor Injection // PicoContainer Framework: programmierte Abhängigkeit // Datasourcebean erzeugen: JDBCDataSource datasource = new JDBCDataSource(); datasource.setdriverclassname("com.mydb.jdbc.driver"); datasource.seturl("jdbc:mysql://localhost:3306/mydb"); datasource.setusername("jacob"); //IoC-Container erzeugen MutablePicoContainer pico = new DefaultPicoContainer(); // Komponenten registrieren ConstantParameter datasourceparam = new ConstantParameter(dataSource); String key = "JDBCPersistenceManager"; Parameter[] params = {datasourceparam}; pico.registercomponentimplementation (key, PersistenceManager.class, params); (c) schmiedecke 07 SE2-6-IoC-Frameworks 19
20 Diskussion Constructor Injection + Java-Bean-Code ist Framework-unabhängig + Good-Citizen-Pattern: Instanziierte Objekte sind "komplett" + Die Abhängigkeit ist im Code erkennbar. - Vererbung bringt Komplikationen (Constructor chaining). - Manche APIs erfordern Standard-Konstruktor. (c) schmiedecke 07 SE2-6-IoC-Frameworks 20
21 Wichtige IoC-Frameworks Spring Setter Injection (auch Constructor Injection möglich) reichhaltige Bibliothek Standard-Hibernate-Anschluss Ausbaustufen für MVC, AOP PicoContainer minimal, reiner IoC-Container Constructor Injection Avalon frühes Projekt, wird nicht mehr fortgesetzt Interface Injection HiveMind (c) schmiedecke 07 SE2-6-IoC-Frameworks 21
22 Welches IoC-Framework für JSF- Anwendungen? Mit allen kombinierbar. IoC-Pattern kann auch selbst implementiert werden. Managed Beans sind bereits ein IoC-Framework! (c) schmiedecke 07 SE2-6-IoC-Frameworks 22
23 Managed Beans als IoC-Framework: Instanziierung: Managed Beans werden vom Container instanziiert. Initialisierung: Initialisierungen von Properties können in der faces-config.xml angegeben werden. Auch als Assoziationen zu anderen Managed Beans <value>#{otherbean}</value Gültigkeit und Lebensdauer: Scope-Typen none, request, session, application Lebensdauer wird in faces-config.xml spezifiziert. (c) schmiedecke 07 SE2-6-IoC-Frameworks 23
24 Bean-Konfiguration: IoC <managed-bean> <managed-bean-name>sessionfacade</managed-bean-name> <managed-bean-class>mail.ui.mailsessionfacade</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>readingservice</property-name> <value>#{readingservice}</value> </managed-property> <managed-property> <property-name>writingservice</property-name> <value>#{writingservice}</value> </managed-property> <managed-property> <property-name>addressbookservice</property-name> <value>#{addressbookservice}</value> </managed-property> </managed-bean> (c) schmiedecke 07 SE2-11-Anforderungsmanagement 24
25 genug für heute Nächste Woche stellen wir die Architektur fertig und fügen Authentifizierung hinzu. (c) schmiedecke 07 SE2-11-Anforderungsmanagement 25
Contexts and Dependency Injection. W3L AG info@w3l.de
1 Contexts and Dependency Injection W3L AG info@w3l.de 2015 2 Inhaltsverzeichnis Teil 1: Motivation Teil 2: Inversion of Control Teil 3: Contexts and Dependency Injection Teil 4: Beispiel zurück 3 Motivation
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrSession Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de
s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrDas Model View Controller (MVC) Konzept
Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2
MehrEmail Adressen und Kontaktinformationen
Email Adressen und Kontaktinformationen WEB Seiten sind von der Sache her öffentlich. Jeder sollte freien Zugang zu den veröffentlichten Informationen haben. Doch es ist Vorsicht geboten. Viele Informationen
MehrNathan Burgener. Design by Contract. Modul SWE
NathanBurgener DesignbyContract ModulSWE NathanBurgener Inhaltsverzeichnis 1 WasistDesignbyContract...3 1.1 Überblick...3 1.2 DesignbyContractmitMethoden...4 1.3 DesignbyContractmitKlassen...5 1.4 Vererbung...6
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrFactory Method (Virtual Constructor)
Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrEJB Beispiel. JEE Vorlesung 10. Ralf Gitzel ralf_gitzel@hotmail.de
EJB Beispiel JEE Vorlesung 10 Ralf Gitzel ralf_gitzel@hotmail.de 1 Stundenkonzept Gemeinsame Übung Stoff der letzten Stunde wird gemeinsam in einem Beispiel umgesetzt Details werden nochmals erklärt bzw.
MehrOWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes
OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen
Mehr5.2 Neue Projekte erstellen
5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort
MehrKlassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla
BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
Mehr2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:
2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway
MehrProgrammieren 2 07 JavaFX-Properties und Data-Binding
Programmieren 2 07 JavaFX-Properties und Data-Binding Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Letztes Mal haben wir Entwickler synchronisiert...
MehrFolgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version 7.4.4. - Optional einen DHCP Server.
1. Dynamic Host Configuration Protocol 1.1 Einleitung Im Folgenden wird die Konfiguration von DHCP beschrieben. Sie setzen den Bintec Router entweder als DHCP Server, DHCP Client oder als DHCP Relay Agent
MehrWhiteStarUML Tutorial
WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/
MehrEs wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.
Struts Code Peaces Element Es wird das Struts Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht. Allgemeines Autor: Sascha Wolski Sebastian Hennebrüder
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrSE2-10-Entwurfsmuster-2 15
Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen
MehrBusinessMail X.400 Webinterface Gruppenadministrator V2.6
V2.6 Benutzerinformation (1) In der Vergangenheit konnten Sie X.400 Mailboxen, die Ihnen als Gruppenadministrator zugeordnet sind, nur mittels strukturierten Mitteilungen verwalten. Diese Mitteilungen
MehrDie Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.
In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrKonfigurationslanleitung für J2EE und Eclipse im KBS-Pool
Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool JBoss vorbereiten Wir haben ein zip-archiv mit JBoss 4.0.5 in /opt/jboss-4.0.5.zip hinterlegt. Entpacken Sie dieses in ihrem Homeverzeichnis an
MehrKonfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung
ewon - Technical Note Nr. 004 Version 1.2 Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung 08.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Modemkonfiguration
MehrVodafone Conferencing Meeting erstellen
Vodafone User Guide Vodafone Conferencing Meeting erstellen Ihre Schritt-für-Schritt Anleitung für das Erstellen von Meetings Kurzübersicht Sofort verfügbare Telefon- und Webkonferenzen mit Vodafone Der
MehrEclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007
Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrFassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing
Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster
MehrKurzanleitung OOVS. Reseller Interface. Allgemein
Kurzanleitung OOVS Reseller Interface Allgemein Durch die Einführung des neuen Interfaces hat sich für Reseller von Syswebcom etwas geändert. Die Struktur der Kundenverwaltung ist einprägsamer, wenn man
MehrDesign Patterns 2. Model-View-Controller in der Praxis
Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden
Mehr1 Belastung. 1.1 Standortbestimmung 1.2 Belastungsvorhersage 1.3 Favoriten
Inhalt 1 Belastung 1.1 Standortbestimmung 1.2 Belastungsvorhersage 1.3 Favoriten 2 Beschwerden 2.1 Registrierung / Einloggen 2.2 Symptome 2.3 Diagramme 3 Info 3.1 Lexikon 3.2 Tutorial 3.3 Impressum 4 Einstellungen
Mehrestos UCServer Multiline TAPI Driver 5.1.30.33611
estos UCServer Multiline TAPI Driver 5.1.30.33611 1 estos UCServer Multiline TAPI Driver... 4 1.1 Verbindung zum Server... 4 1.2 Anmeldung... 4 1.3 Leitungskonfiguration... 5 1.4 Abschluss... 5 1.5 Verbindung...
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrOERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt
OERA OpenEdge Reference Architecture Mike Fechner PUG Infotag 19. Mai 05 Frankfurt Überblick OERA Separated presentation and integration layers Common business logic with advanced models Data access abstracted
MehrPraktikum Software Engineering
Praktikum Software Engineering Verwendung von Enterprise Architect Pascal Weber, David Kulicke KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrAnleitung OpenCms 8 Inhaltstyp Kommentare
Anleitung OpenCms 8 Inhaltstyp Kommentare 1 Erzbistum Köln Kommentare 28. August 2014 Inhalt 1. Allgemeines zum Inhaltstyp Kommentare... 3 2. Anwendung... 3 3. Funktion... 5 2 Erzbistum Köln Kommentare
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrINDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline
Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrMCRServlet Table of contents
Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrDer lokale und verteilte Fall
Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf
MehrPowerPoint 2010 Mit Folienmastern arbeiten
PP.002, Version 1.1 07.04.2015 Kurzanleitung PowerPoint 2010 Mit Folienmastern arbeiten Der Folienmaster ist die Vorlage für sämtliche Folien einer Präsentation. Er bestimmt das Design, die Farben, die
MehrSchedulingund Thread-Ausführer
Schedulingund Thread-Ausführer Scheduling Ein Scheduler arbeitet Programmstücke nach einer festen Zeitspanne oder zu einer fixen Zeitpunkt wiederholt oder einmal ab. Notwendigkeiten für Scheduling sind
MehrOnline Banking System
Online Banking System Pflichtenheft im Rahmen des WI-Praktikum bei Thomas M. Lange Fachhochschule Giessen-Friedberg Fachbereich MNI Studiengang Informatik Erstellt von: Eugen Riske Yueksel Korkmaz Alper
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
Mehr1. IPSec Verbindung zwischen 2 Gateways mit dynamischen IP Adressen
1. IPSec Verbindung zwischen 2 Gateways mit dynamischen IP Adressen 1.1 Einleitung Im Folgenden wird die Konfiguration einer IPsec Verbindung mit dynamischen IP-Adressen auf beiden Seiten beschrieben.
MehrEinführung in die Informatik Tools
Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht
Mehr5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
MehrKurzanweisung für Google Analytics
Kurzanweisung für Google Analytics 1. Neues Profil für eine zu trackende Webseite erstellen Nach dem Anmelden klicken Sie rechts oben auf den Button Verwaltung : Daraufhin erscheint die Kontoliste. Klicken
MehrSoftwaretechnische Anforderungen zu Opale bluepearl Version 1.0 vom 23.05.2013
Sehr geehrte Kundin, Sehr geehrter Kunden. Sie werden demnächst die neue Version Opale bluepearl einsetzen. Damit Sie bestmöglich von der 3ten Generation der Opale-Lösungen profitieren können, ist es an
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrMultimedia Engineering II - Übung 2
Multimedia Engineering II - Übung 2 Zielstellung der Übungsaufgabe Das Login-Panel der ersten Übung erhält nun die Funktion, auf eine zweite View zu wechseln. Auf dieser werden Sie nun das erste Mal einen
MehrProbeklausur Softwareengineering SS 15
Probeklausur Softwareengineering SS 15 Hinweis: Die Bearbeitungsdauer entspricht dem Punktewert. Aufgabe 1 (10 min) Beschreiben Sie das Vorgehensmodell Test-Driven-Development (TDD) a) Erläutern Sie das
MehrEinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
MehrBitDefender Client Security Kurzanleitung
BitDefender Client Security Kurzanleitung...1 Appendix A Kurzanleitung mit Screenshots...2 BitDefender Client Security Kurzanleitung 1. Wählen Sie entweder 32 oder 64 bit Management Server aus dem BitDefender
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrAssoziation und Aggregation
Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben
MehrAdami CRM - Outlook Replikation User Dokumentation
Adami CRM - Outlook Replikation User Dokumentation Die neue Eigenschaft der Adami CRM Applikation macht den Information Austausch mit Microsoft Outlook auf vier Ebenen möglich: Kontakte, Aufgaben, Termine
MehrGründe für fehlende Vorsorgemaßnahmen gegen Krankheit
Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit politische Lage verlassen sich auf Familie persönliche, finanzielle Lage meinen, sich Vorsorge leisten zu können meinen, sie seien zu alt nicht mit
MehrArchiv - Berechtigungen
Archiv - Berechtigungen - 1 Inhaltsverzeichnis 1. Grunddefinitionen...3 1.1. Mögliche Definitionen...3 1.1.1. Programme...3 1.1.2. Prinzipale...3 1.1.3 Archivzugriff...3 1.2. Leserichtung...3 1.2.1. Ordnerbezogen...3
MehrStep by Step Softwareverteilung unter Novell. von Christian Bartl
Step by Step Softwareverteilung unter Novell von Softwareverteilung unter Novell 1) Starten von einfachen *.EXE-Dateien: Starten sie ConsoleOne Erstellen sie eine eigene Organisationseinheit für ihre Anwendungen
MehrEine Anwendung mit InstantRails 1.7
Eine Anwung mit InstantRails 1.7 Beschrieben wird das Anlegen einer einfachen Rails-Anwung, die ohne Datenbank auskommt. Schwerpunktmäßig wird auf den Zusammenhang von Controllern, Views und der zugehörigen
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
MehrSoftwaretechnik (WS 11/12)
Universität Augsburg, LSt. Softwaretechnik, K. Stenzel, H. Seebach, G. Anders Softwaretechnik (WS 11/12) Lösungsvorschlag 5 Aufgabe 1 (System Behavior: System Sequence Diagrams) (10/5 Punkte) a) Was sind
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrWindows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein
Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente Dr. Beatrice Amrhein Überblick Die Architektur WPF Projekt erstellen Steuerelemente einfügen Eigenschaften von Steuerelementen ändern Nach
MehrInstallation des edu- sharing Plug- Ins für Moodle
Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis
MehrFAQ The FAQ/knowledge base. Version 2.1.1
FAQ The FAQ/knowledge base. Version 2.1.1 (c) 2012 OTRS AG, http://otrs.org/ GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007 This work is copyrighted by OTRS AG, Norsk-Data-Str. 1, 61352 Bad
MehrÜbungsaufgabe Transaktion als Middleware
Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung
MehrWas ist Sozial-Raum-Orientierung?
Was ist Sozial-Raum-Orientierung? Dr. Wolfgang Hinte Universität Duisburg-Essen Institut für Stadt-Entwicklung und Sozial-Raum-Orientierte Arbeit Das ist eine Zusammen-Fassung des Vortrages: Sozialräume
MehrWindows Server 2008 (R2): Anwendungsplattform
Mag. Christian Zahler, Stand: August 2011 13 14 Mag. Christian Zahler, Stand: August 2011 Mag. Christian Zahler, Stand: August 2011 15 1.5.2 Remotedesktop-Webverbindung Windows Server 2008 (R2): Anwendungsplattform
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrThomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5
Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5 Im Folgenden wird die Installation von MySQL 5.0 und Tomcat 5.0 beschrieben. Bei MySQL Server 5.0 handelt es sich um ein
MehrMailUtilities: Remote Deployment - Einführung
MailUtilities: Remote Deployment - Einführung Zielsetzung Die Aufgabe von Remote Deployment adressiert zwei Szenarien: 1. Konfiguration der MailUtilities von einer Workstation aus, damit man das Control
MehrU08 Entwurfsmuster (II)
U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange
MehrKonfigurationsanleitung Fax over IP (T.38) und CAPI Fax Server (T.30) Graphical User Interface (GUI) Seite - 1 -
Konfigurationsanleitung Fax over IP (T.38) und CAPI Fax Server (T.30) Graphical User Interface (GUI) Copyright Stefan Dahler 22. Oktober 2013 Version 1.0 www.neo-one.de Seite - 1 - 1. Fax over IP (T.38)
MehrMobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.
Beschreibung Betriebliche Kennzahlen sind für die Unternehmensführung von zentraler Bedeutung. Die Geschäftsführer oder Manager von erfolgreichen Unternehmen müssen sich deshalb ständig auf dem Laufenden
MehrIAWWeb PDFManager. - Kurzanleitung -
IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die
MehrJSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel ralf_gitzel@hotmail.de
JSP Grundlagen JEE Vorlesung Teil 5 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht JSP Konzept Model-View-Controller mit JSPs JSP Expression Language EL Literale
MehrErstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java
Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework
MehrWordPress. Dokumentation
WordPress Dokumentation Backend-Login In das Backend gelangt man, indem man hinter seiner Website-URL einfach ein /wp-admin dranhängt www.domain.tld/wp-admin Dabei gelangt man auf die Administrationsoberfläche,
MehrGI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.
GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen Teil 1: Einführung: Wissensbasis und Ontologie Was ist eine Wissensbasis? Unterschied zur Datenbank: Datenbank: strukturiert
MehrJava Enterprise Architekturen Willkommen in der Realität
Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
Mehr1. Bearbeite Host Netzgruppen
1. Bearbeite Host Netzgruppen Eine "Host Netzgruppe" (von jetzt an Netzgruppe) kann mit einer Gästeliste, wenn Sie jemand zu einer Party einladen, verglichen werden. Sie haben eine Gästeliste erstellt
Mehr5. Abstrakte Klassen
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,
MehrKonfiguration der Yeastar MyPBX IP-Telefonanlagen mit iway Business SIP Trunk
Konfiguration der Yeastar MyPBX IP-Telefonanlagen mit iway Business SIP Trunk Stand 29.07.2015 Allgemeines Diese Anleitung beschreibt die Einrichtung der MyPBX IP-Telefonanlagen des Herstellers Yeastar
MehrSoftwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler
Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 4 Lösungshilfe. Aufgabe 1. Zustandsdiagramm (8 Punkte) Geben Sie ein Zustandsdiagramm für
Mehr