Singleton Pattern

Status
Nicht offen für weitere Antworten.

Mark110

Bekanntes Mitglied
Ja ich weiss, dass viele von Euch das Pattern nicht mögen.
In meiner Situation finde ich es aber durchaus angebracht.


Meine Frage ist, ob ihr da etwa sanders machen würdet?
Die Umsetzung als Singleton sollte ich richtig gemacht haben?!
 

tfa

Top Contributor
Mal davon abgesehen, dass dieses Pattern auch hier unangebracht ist, kann ich hier kein Singleton entdecken. Du kannst beliebig viele Objekte von OracleConnectionPool anlegen, oder was soll hier die Singleton-Klasse sein?
 

Mark110

Bekanntes Mitglied
naja ich kann doch immer nur eine instanz von ocpds erzeugen.

Hmmm stimmt es ist keine Instanz sondern nur eine variable... Ok es ist also kein Singleton... macht doch aber so wie ich es implementiert habe sinn?!
 

tfa

Top Contributor
TomBola hat gesagt.:
naja ich kann doch immer nur eine instanz von ocpds erzeugen.
Nein, dann müsste ocpds als Singleton implementiert sein, und das wäre schlecht.

TomBola hat gesagt.:
Hmmm stimmt es ist keine Instanz sondern nur eine variable... Ok es ist also kein Singleton... macht doch aber so wie ich es implementiert habe sinn?!
Streich das Wort "Singleton" und nenn die Methode getDataSource().
Aber irgendwie sieht das nicht aus wie ein Connectionpool, sondern wie eine Factory bzw. Cache für ein OracleConnectionPoolDataSource-Objekt. Oder fehlt da noch was?
 

byte

Top Contributor
Das hat eigentlich gar nichts mit dem Singleton-Pattern zu tun. Bei Bedarf können beliebig viele OracleConnectionPoolDataSource- und OracleConnectionPool-Instanzen erzeugt werden.
 

Mark110

Bekanntes Mitglied
Das es kein Singleton ist habe ich bereits eingesheen ;)

TomBola hat gesagt.:
Hmmm stimmt es ist keine Instanz sondern nur eine variable... Ok es ist also kein Singleton...


Fehlen tut da soweit nichts.
Ich habe zwei wietere Klassen in denen ich das folgende mache:



Code:
			dataSource = OracleConnectionPool.setupDataSource();
			
			// Create a pooled connection
		    pc = dataSource.getPooledConnection();
						
			conn = pc.getConnection();
			stmt = conn.createStatement();
ich wollte mir einfach nur doppelten code spaen, da ich das gleiche in zwei klassen machen muss.
 

byte

Top Contributor
Und was ist nun Deine Frage? Ob das vom Design her schlecht ist? Dann lautet die Antwort: ja, da nicht objektorientiert.
 

xdavidx

Aktives Mitglied
SP nutzt man doch nur bei Objekten Oo

- private Konstruktor
- private statische Referenz auf die Klasse
- statische Methode mit Prüfung, die die Referenz der Klasse "belegt" und returnt!
 

xdavidx

Aktives Mitglied
Code:
public class SingleTon {

	private static SingleTon instance;
	
	private SingleTon() {
		
		
	}
	
	public static SingleTon getInstance() {
		
		if(instance == null) {
		
			synchronized(SingleTon.class) {
				
				if(instance == null) instance = new SingleTon();
				
			}
			
		}
		
		return instance;
		
	}
}

Durch synchronized auch "Threadsicher"!
 

tfa

Top Contributor
xdavidx hat gesagt.:
Durch synchronized auch "Threadsicher"!
Vorsicht: Das ist Double-Checked-Locking. Bis einschließlich Java 1.4 funktioniert das so nicht. Ab Java 5 klappt es, wenn man da noch ein volatile spendiert.
Es spricht nichts dagegen, die ganze Methode synchronized zu definieren. Dann hat man keine Probleme.
 
M

maki

Gast
Immer wieder diese Singletons mit lazy-initialisation, welches dann Threadsicher gemacht werden muss.

xdavidx, wozu die lazy-init?
Der ConnectionPool wird doch auf jedenfall gebraucht, also ist die lazy-init und die damit verbundene nötige synchronization doch für die Katz.

Wenn schon das (zurecht verrufene) Singleton Muster, dann doch bitte mit ein bisschen Sinn:
Code:
public class Singleton {

   private static Singleton instance = new Singleton();
   
   private Singleton() {}
   
   public static Singleton getInstance() {
      return instance;     
   }
}
 

Wildcard

Top Contributor
Double-Checked-Locking finde ich immer wieder aufs Neue lustig. Ich Frage mich ernsthaft, wer (und vor allem warum) mit dem Pseudo Lazy Initializing überhaupt angefangen hat.
 

Mark110

Bekanntes Mitglied
xdavidx hat gesagt.:
SP nutzt man doch nur bei Objekten Oo

- private Konstruktor
- private statische Referenz auf die Klasse
- statische Methode mit Prüfung, die die Referenz der Klasse "belegt" und returnt!

Bis af den kosnturktor hatte ich das doch bereits



EDIT: es ist natürlich kein Singleton Pattern!!! ;)
Es geht nur um die Umsetzung...
 

byte

Top Contributor
tfa hat gesagt.:
Es spricht nichts dagegen, die ganze Methode synchronized zu definieren. Dann hat man keine Probleme.

Finde ich aber auch nicht so schön. Dann wird bei jedem Aufruf gelockt, selbst wenn das Singleton längst instanziert ist.

Am besten ist es imho, die Anwendung auf maximal ein Singleton zu beschränken, das nicht lazy initialisiert wird.
 
M

maki

Gast
Tombole,

du hattest keine Singleton, dachte das wäre klar?

Davon abgesehen ist das keine Vorraussetzung für ein Singleton:
- statische Methode mit Prüfung, die die Referenz der Klasse "belegt" und returnt!
Eine Methode die zB. getInstance heisst und diese eine Instanz der Klasse zurückgibt allerdings schon, und diese fehlte dir eben.
 

tfa

Top Contributor
byto hat gesagt.:
tfa hat gesagt.:
Es spricht nichts dagegen, die ganze Methode synchronized zu definieren. Dann hat man keine Probleme.

Finde ich aber auch nicht so schön. Dann wird bei jedem Aufruf gelockt, selbst wenn das Singleton längst instanziert ist.
Dieses Locking ist billig. Es sei denn, Du willst die Methode ein paar Millionen mal pro Sekunde aufrufen.

byto hat gesagt.:
Am besten ist es imho, die Anwendung auf maximal ein Singleton zu beschränken, das nicht lazy initialisiert wird.
Mal abgesehen von der Singleton-Problematik finde ich an Lazy-Initialization nichts schlimmes. Natürlich nur, wenn die Objekterzeugung teuer ist. Lieber 1000 mal ein paar Millisekunden warten als einmal ein paar Sekunden.
 

Wildcard

Top Contributor
tfa hat gesagt.:
Mal abgesehen von der Singleton-Problematik finde ich an Lazy-Initialization nichts schlimmes. Natürlich nur, wenn die Objekterzeugung teuer ist. Lieber 1000 mal ein paar Millisekunden warten als einmal ein paar Sekunden.
Nur macht es bei einem Singelton keinen Sinn, weil bei direkt Initialisierung die Initialisierung geschiet sobald die Klasse 'angefasst', bei Pseudo-Lazy sobald getInstance aufgerufen wird. Wann verwendet man die Singelton Klasse ohne gleichzeitig getInstance aufzurufen? Wozu soll das also gut sein?
 

Mark110

Bekanntes Mitglied
Irgendwie reden wir aneinander vorbei ;)
Meine Frage nochmal: Ist meine Umsetzung so in ORdnung oder sollte das an der Stelle als Singleton umgestezt werden?
Ja jetzt ist es kein Singleton, aber meines erachtens erfüllt es dne zweck. Wenn es so nicht den Zweck erfüllt wäre es toll wenn Ihr mir sagen könntet warum es nicht den Zweck erfüllt.
Und mit Zweck meine ich auch die Berücksichtung eines guten Programmierstils.

:)
 

schalentier

Gesperrter Benutzer
1. Du solltest den Logger an allen Stellen nutzen (und kein System.out.println)
2. Wenn das funktioniert ist doch gut, wenn du den Quellcode verbessern willst:
- static entfernen
- 2 Methoden drauss machen:
-- loadProperties()
-- createDataSource()
- Entscheiden fuer: Singleton oder Factory (wahlweise AbstractFactory oder FactoryMethod) und das entsprechend umsetzen
 

byte

Top Contributor
Wildcard hat gesagt.:
Nur macht es bei einem Singelton keinen Sinn, weil bei direkt Initialisierung die Initialisierung geschiet sobald die Klasse 'angefasst', bei Pseudo-Lazy sobald getInstance aufgerufen wird.
Was meinst Du mit Pseudo-Lazy? Lazy-Initialisierung bedeutet, dass das Objekt erst dann initialisiert wird, wenn es gebraucht wird und nicht schon bei Programmstart. Das ist durchaus legitim. Bei größeren Systemen kannst du dadurch einen Slow-Start verhindern.

Wann verwendet man die Singelton Klasse ohne gleichzeitig getInstance aufzurufen? Wozu soll das also gut sein?
Wenn Du Module hast, die nicht zwangsläufig bei jeder Programmausführung verwendet werden?
 
M

maki

Gast
byto,

ist schon klar, wenn Lazy-init Sinn ergibt, sollte man sie auch verwenden.

Aber das ist bei weitem nicht immer der Fall, wage sogar zu behaupten, dass es in 90% der Fälle Sinnfrei ist, wird halt einfach so gemacht weil die Beispiele im Inet alle immer Lazy-Init verwenden, ohne zu erkären ob und warum diese nötig ist, bzw. was sie bringt.

Oder noch schlimmer, es wird angenommen, dass ein Singleton Lazy-init haben muss weil es sonst keines wäre..
 

Mark110

Bekanntes Mitglied
schalentier hat gesagt.:
1. Du solltest den Logger an allen Stellen nutzen (und kein System.out.println)
2. Wenn das funktioniert ist doch gut, wenn du den Quellcode verbessern willst:
- static entfernen
- 2 Methoden drauss machen:
-- loadProperties()
-- createDataSource()
- Entscheiden fuer: Singleton oder Factory (wahlweise AbstractFactory oder FactoryMethod) und das entsprechend umsetzen

Danke für diese sinvollen Hinweise.
Leider verstehe ich nicht, warum ich ein singleton pattern nutzen soll in einer Klasse die OracleConnectionPool heißt und mit eine oracleConnectionpooldatasource geben soll.

Wenn ich in der Klasse eine Methode getInstance schriebe erhalte ich doch keine ocpds ?!
dann kann ich zwar in anderen klassen die klasse oracleconnectionpool instanziiren(einmal) und auf den wert zugreifen , z.b. durch eine get methode (instance.getOCPDS) aber ist es das was ich daraus machen soll?

Ich hoffe Eure geduld nicht zu sehr zu reizen :-(.
 
M

maki

Gast
Du hast eine static Factory.

Ich würde die Methode getConnection nennen und anstatt der Pooled DS eine Connection zurückgeben.
Dann müssen die Aufrufer nix von der Oracle spezifischen Implementierung der DS wissen.
 

schalentier

Gesperrter Benutzer
Zur Zeit hast du eine statische Methode in deiner Klasse. Statische Methoden sind oftmals nicht so dolle, denn die Wiederverwendbarkeit selbiger ist eingeschraenkt (kannst z.B. nicht ueberschreiben). Es ist halt nicht richtig objektorientiert.

Deshalb mach das static weg. Dann kannst du die Methode natuerlich nur an einer Instanz der Klasse aufrufen. Wenn du nun sicherstellen willst, dass es in deinem Programm nur genau eine Instanz der Klasse gibt, machst du ein Singleton. In diesem gibt es nur noch genau eine static Methode (getInstance) die dir die eine Instanz zurueckliefert. An dieser kannst du deine setupDataSource() aufrufen.

z.B.:
Code:
OracleDataSourcePool.getInstance().setupDataSource()

Jetzt koenntest du noch eine abstrakte Klasse DataSourcePool erstellen, OracleDataSourcePool von dieser ableiten und dort eine Methode loadProperties() hinpacken. Andere DataSourcePool-Implementierungen koennten diese Methode dann wiederverwenden. Das ist OOP. :)

Ob sich der scheinbare Mehraufwand in deinem konkreten Fall lohnt, musst du aber selbst entscheiden.
 

Wildcard

Top Contributor
byto hat gesagt.:
Wildcard hat gesagt.:
Nur macht es bei einem Singelton keinen Sinn, weil bei direkt Initialisierung die Initialisierung geschiet sobald die Klasse 'angefasst', bei Pseudo-Lazy sobald getInstance aufgerufen wird.
Was meinst Du mit Pseudo-Lazy? Lazy-Initialisierung bedeutet, dass das Objekt erst dann initialisiert wird, wenn es gebraucht wird und nicht schon bei Programmstart. Das ist durchaus legitim. Bei größeren Systemen kannst du dadurch einen Slow-Start verhindern.

Wann verwendet man die Singelton Klasse ohne gleichzeitig getInstance aufzurufen? Wozu soll das also gut sein?
Wenn Du Module hast, die nicht zwangsläufig bei jeder Programmausführung verwendet werden?
Code:
private static Singleton instance = new Singleton();
Diese Instanz wird nicht erzeugt, wenn die VM startet, sondern erst sobald Singleton auch verwendet wird. Es ist damit genauso Lazy wie die aufgeblasene, langsamere Pseudo Lazy Initializing Variante. Der einzige Unterschied tritt auf, wenn du Singleton.SOME_CONSTANT verwendest, ohne in absehbarer Zeit das erste mal Singleton.getInstance() aufzurufen.
Sind wir mal ehrlich, das hat keine Praxisrelevanz
 

Mark110

Bekanntes Mitglied
schalentier hat gesagt.:
Zur Zeit hast du eine statische Methode in deiner Klasse. Statische Methoden sind oftmals nicht so dolle, denn die Wiederverwendbarkeit selbiger ist eingeschraenkt (kannst z.B. nicht ueberschreiben). Es ist halt nicht richtig objektorientiert.

Deshalb mach das static weg. Dann kannst du die Methode natuerlich nur an einer Instanz der Klasse aufrufen. Wenn du nun sicherstellen willst, dass es in deinem Programm nur genau eine Instanz der Klasse gibt, machst du ein Singleton. In diesem gibt es nur noch genau eine static Methode (getInstance) die dir die eine Instanz zurueckliefert. An dieser kannst du deine setupDataSource() aufrufen.

z.B.:
Code:
OracleDataSourcePool.getInstance().setupDataSource()

Jetzt koenntest du noch eine abstrakte Klasse DataSourcePool erstellen, OracleDataSourcePool von dieser ableiten und dort eine Methode loadProperties() hinpacken. Andere DataSourcePool-Implementierungen koennten diese Methode dann wiederverwenden. Das ist OOP. :)

Ob sich der scheinbare Mehraufwand in deinem konkreten Fall lohnt, musst du aber selbst entscheiden.


Vielen lieben dank!!

Ich habe nun eine letzte Version, in der ich hoffe die Tipps richtig umgesetzt zu haben.
Ein Feedback wäre also sehr nett.



Code:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

import javax.sql.PooledConnection;

import oracle.jdbc.pool.OracleConnectionPoolDataSource;

import org.apache.log4j.Logger;



public class OracleConnectionPool {

	
	private static final Logger log = Logger.getLogger(OracleConnectionPool.class);
	private static OracleConnectionPoolDataSource ocpds = null;
	private Properties prop = null;	
	private static OracleConnectionPool instance = new OracleConnectionPool();
	private Connection conn=null;
	
	private OracleConnectionPool() {
	}
	
	private void loadProperty() {
		// Load properties
		prop = new Properties();
		try {
			prop.load(new FileInputStream("db.properties"));
		} catch (FileNotFoundException e) {
			log.error("File not found Exception", e);
		} catch (IOException e) {
			log.error("Property IO Exception", e);
		}
	}
	
	public static OracleConnectionPool getInstance() {
		return instance;
	}
	
	public Connection setupDataSource() {
	
		if (ocpds == null) {
			instance.loadProperty();
			log.info("!null")			

			// Create a OracleConnectionPoolDataSource instance
			try {
				ocpds = new OracleConnectionPoolDataSource();
				// Set connection parameters
				ocpds.setURL(prop.getProperty("connectURL"));
				ocpds.setUser(prop.getProperty("user"));
				ocpds.setPassword(prop.getProperty("password"));
				PooledConnection pc = ocpds.getPooledConnection();
				Connection conn = pc.getConnection();
			} catch (SQLException e) {
				log.error("SQL Error", e);
			}
			return conn;
		} else {
			System.out.println("OracleConnectionPoolDataSource is != null");
			return conn;
		}
	}
}
 

schalentier

Gesperrter Benutzer
Nuja sieht ja schon mal ganz gut aus. Aber da is immer noch ein System.out dabei ;-)
Und in Zeile 59 legst du dir ne lokale Variable an, die es als Instanzvariable auch gibt. Das is vermutlich ein Bug.

Problematisch koennte jetzt noch das Exceptionhandling sein. Sollte irgendwas nicht klappen (Properyfile nicht gefunden oder DB Verbindungsprobleme), faengst du das zwar, aber deine Methoden liefern dann null zurueck.
Das hilft dir halt nicht viel. Sicherlich (ich kenn den Rest deiner Anwendung nicht) willst du das irgendwie dem Benutzer mitteilen, also koenntest du:
a) die Exceptions nicht fangen, sondern einfach weiterwerfen
b) die Exceptions fangen und eine eigne (z.B. DBConnectionException) werfen

und die woanders auswerten.
 

Mark110

Bekanntes Mitglied
das das die sysout meldungen sind ist nur der bequemlichkeit, da ich ncith ständig ins logfile schauen will sondern auch in der eclipse.
Die Zeile59 hast du nie gesehen ;) Danke für dne Hinweis :D

Im endeffekt reicht es, wenn ich eine Exception im Log stehen hab, dann wird natürlich auch das Programm sterben, aber ich weiss dann warum.

Ich möchte mich ganz hrzlich bei dir bedanken. Ich habe das Singleton pattern jetzt tatsächlich verstanden ;)
 

Wildcard

Top Contributor
Schreib dir einen Log Appender der nach System.out schreibt, dann schlägst du 2 Fliegen mit einer Klappe. In der Auslieferung sollte dieser Appender allerdings ausgeschaltet sein.
 

Mark110

Bekanntes Mitglied
Danke für dne Hinweis Wildcard.
Der Appender existiert sogar bereits.

Hab ich nur nicht dran gedacht den einzuschlaten.

Danke ;)
 

byte

Top Contributor
Wildcard hat gesagt.:
Code:
private static Singleton instance = new Singleton();
Diese Instanz wird nicht erzeugt, wenn die VM startet, sondern erst sobald Singleton auch verwendet wird. Es ist damit genauso Lazy wie die aufgeblasene, langsamere Pseudo Lazy Initializing Variante. Der einzige Unterschied tritt auf, wenn du Singleton.SOME_CONSTANT verwendest, ohne in absehbarer Zeit das erste mal Singleton.getInstance() aufzurufen.
Sind wir mal ehrlich, das hat keine Praxisrelevanz
Stimmt, Du hast Recht!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Implementierung von Observer und Singleton-Pattern Java Basics - Anfänger-Themen 9
A ist das ein Singleton-Pattern? Java Basics - Anfänger-Themen 6
D Objekte anlegen und Singleton Pattern Java Basics - Anfänger-Themen 21
J Singleton Pattern Java Basics - Anfänger-Themen 5
S Singleton Pattern passend hierfür? Java Basics - Anfänger-Themen 60
G Singleton Pattern Java Basics - Anfänger-Themen 7
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
W Sinn eines Singleton ? Java Basics - Anfänger-Themen 14
O Singleton Java Basics - Anfänger-Themen 5
R Methode in Singleton Klasse Java Basics - Anfänger-Themen 1
O Singleton Verständnis Java Basics - Anfänger-Themen 4
A Klasse,Vererbung,Interface,Singleton,Thread Java Basics - Anfänger-Themen 5
S Singleton (Design Patterns) Java Basics - Anfänger-Themen 16
R OOP Singleton Java Basics - Anfänger-Themen 10
U Vererben von Singleton Java Basics - Anfänger-Themen 17
S Singleton - Daten einspielen Java Basics - Anfänger-Themen 5
K Warum ist ein Singleton kein Best Practise? Java Basics - Anfänger-Themen 3
M Singleton mit Parametern im Konstruktor Java Basics - Anfänger-Themen 18
D Singleton beim JFrame zerstören Java Basics - Anfänger-Themen 4
L Java Serialisierung Singleton Java Basics - Anfänger-Themen 6
A JBoss-Anwendung soll im Singleton-Mode laufen Java Basics - Anfänger-Themen 6
Luk10 Problem mit Singleton bzw statischer Referenz! Java Basics - Anfänger-Themen 16
S Instanz(en) einer Singleton-Klasse Java Basics - Anfänger-Themen 11
S Statische Klassen/ Singleton Java Basics - Anfänger-Themen 13
J Warum verwendet man Singleton? Java Basics - Anfänger-Themen 7
B Was ist der unterschied zwischen Singleton und Strategy? Java Basics - Anfänger-Themen 6
S Singleton lazy Java Basics - Anfänger-Themen 8
P Singleton-Implementation Java Basics - Anfänger-Themen 8
F singleton Java Basics - Anfänger-Themen 4
T Singleton Java Basics - Anfänger-Themen 13
Antoras Singleton oder Controller / Datenverwaltungsklasse? Java Basics - Anfänger-Themen 10
D Denkfehler Singleton Java Basics - Anfänger-Themen 53
X Singleton - In diesem Fall sinnvoll? Java Basics - Anfänger-Themen 22
S Fragen zu synchronized + Singleton! Java Basics - Anfänger-Themen 10
M Mp3 Player mit Singleton Java Basics - Anfänger-Themen 8
M GUI als SingleTon Java Basics - Anfänger-Themen 6
B Singleton und Resourcebundle Java Basics - Anfänger-Themen 7
D Singleton in Java implementieren Java Basics - Anfänger-Themen 6
H singleton Synchronisations Problem? Java Basics - Anfänger-Themen 2
M Singleton verwenden, aber wie? Java Basics - Anfänger-Themen 3
H Singleton mit Attributen Java Basics - Anfänger-Themen 7
D was ist der vorteil vom Builder-design pattern? Java Basics - Anfänger-Themen 11
W GoF-Pattern im Programmierer-Alltag Java Basics - Anfänger-Themen 113
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J Methoden Observer-Pattern mit Consumer und accept( ) Java Basics - Anfänger-Themen 6
Dimax Erste Schritte Pattern.matcher,die Besonderheiten. Java Basics - Anfänger-Themen 12
N Best Practice Frage zum MVC-Pattern Java Basics - Anfänger-Themen 2
F Design pattern Java Basics - Anfänger-Themen 29
W RegEx Matcher + Pattern und Emails Java Basics - Anfänger-Themen 8
M Schlüsselworte Unterschied: String.matches und Pattern.compile Java Basics - Anfänger-Themen 2
C Best Practice JTable in MVC Pattern Java Basics - Anfänger-Themen 7
D Design Pattern Command Java Basics - Anfänger-Themen 3
Bregedur Methoden Matcher und Pattern bei sich wiederholenden Werten Java Basics - Anfänger-Themen 1
fLooojava MVC Pattern und Observer Pattern Java Basics - Anfänger-Themen 6
S Regex Pattern Java Basics - Anfänger-Themen 3
Z Pattern und Matcher substring zu String möglich? Java Basics - Anfänger-Themen 4
B Pattern für Email Liste Java Basics - Anfänger-Themen 3
J Builder Pattern implementieren Java Basics - Anfänger-Themen 3
Tarrew Proxy Design-Pattern Java Basics - Anfänger-Themen 1
M Methoden Pattern Matching Vokal Java Basics - Anfänger-Themen 2
agent47 Pattern split Java Basics - Anfänger-Themen 2
J MVC Pattern, mehrere Controller/Views/Models Java Basics - Anfänger-Themen 0
B Strategy Pattern - Rechner Java Basics - Anfänger-Themen 6
I Vertändnisfrage zu Prototype Pattern Java Basics - Anfänger-Themen 0
L Kompositum-Pattern Hilfe :O Java Basics - Anfänger-Themen 4
F eigenes Listener Pattern mit Interface Java Basics - Anfänger-Themen 1
S Je nach erhaltene Daten unterschiedlich reagieren (Design Pattern?) Java Basics - Anfänger-Themen 3
B Pattern Matching ohne Match-Methoden Java Basics - Anfänger-Themen 11
Furtano OOP Memento Pattern | übergabe einer Kopie des Arrays Java Basics - Anfänger-Themen 0
F Erste Schritte Pattern zum Zerlegen von selbstdefinierten Dateinamen Java Basics - Anfänger-Themen 7
M MVC + Strategy Pattern Ansatz (mit Code) Java Basics - Anfänger-Themen 5
A Design Pattern - Welche? Java Basics - Anfänger-Themen 33
Rudolf OOP Übungen zu Design Pattern in Java Java Basics - Anfänger-Themen 6
A Observer Pattern Problem Java Basics - Anfänger-Themen 15
J Interface Frage zu Interfces am Beispiel Observer Pattern Java Basics - Anfänger-Themen 8
S OOP Regex Pattern Java Basics - Anfänger-Themen 2
P Grundsatzfrage zu Decorator-Pattern Java Basics - Anfänger-Themen 6
L Pattern Matching Java Basics - Anfänger-Themen 3
L RegExp bzw Pattern in Java Java Basics - Anfänger-Themen 6
Helgon Observer Pattern - hasChanged() immer false Java Basics - Anfänger-Themen 10
R aktualisierung des View im MVC-Pattern Java Basics - Anfänger-Themen 5
M RegEx Pattern Matcher Java Basics - Anfänger-Themen 16
R Pattern bzw. Regex HTML-Code Java Basics - Anfänger-Themen 10
N Regexp Pattern & Matcher Problem Java Basics - Anfänger-Themen 4
I OOP Verständnisfrage zu Singelton Pattern Java Basics - Anfänger-Themen 21
R Welches Design pattern Java Basics - Anfänger-Themen 10
B static und Pattern matching Java Basics - Anfänger-Themen 22
T pattern klappt nicht so Java Basics - Anfänger-Themen 6
T Decorator Pattern Java Basics - Anfänger-Themen 7
A Pattern und Matcher Java Basics - Anfänger-Themen 9
T Frage zu Pattern/Matcher Java Basics - Anfänger-Themen 6
D Pattern in Midi-Sequencer Java Basics - Anfänger-Themen 2
V Frage zu Decorator-Pattern Java Basics - Anfänger-Themen 4
S OOP Factory Pattern Java Basics - Anfänger-Themen 2
C OOP Observer Pattern Java Basics - Anfänger-Themen 2
M Regex-Pattern Java Basics - Anfänger-Themen 2
Haubitze_Broese Pattern für Links in RSS-Reader Java Basics - Anfänger-Themen 6
Raidri Pattern liefert false Java Basics - Anfänger-Themen 9
megachucky regex-Problem ( mit den Klassen Matcher / Pattern) --> XML prüfen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben