hallo leute,
ich habe mehrere Klassen, die nach dem Fabrikmuster aufgebaut sind (eine create-Methode).
Sie alle erben von einer abstrakten Klasse AbstractCreator.
Gleichzeitig macht es ja Sinn, eine Fabrik als Singleton zu entwerfen (kein Konstruktor, eine statische getInstance-Methode),da sie ja nicht mehrfach initialisiert werden muss ...
ich habe also folgenden Code:
[highlight=Java]
public abstract class AbstractCreator {
public void create(){
// hier steht mein allgemeiner Code
concreteCreation();
}
protected abstract void concreteCreation();
}
[/highlight]
[highlight=Java]
public class FolderCreator {
@Override
protected void concreteCreation() {
// hier steht mein konkreter Code
}
}
[/highlight]
[highlight=Java]
public class FileCreator {
@Override
protected void concreteCreation() {
// hier steht mein konkreter Code
}
}
[/highlight]
meine Frage ist: wohin mit den Singleton-Methoden?
da meine AbstractCreator ja abstrakt ist, kann ich hier keine getInstance schreiben!
auf der anderen Seite kann ich ja bei 20 verschiedenen konkreten Fabriken nicht überall die gleiche getInstance reinkopieren, oder? das wäre doch auch nicht schön!
lg, guni
ich habe mehrere Klassen, die nach dem Fabrikmuster aufgebaut sind (eine create-Methode).
Sie alle erben von einer abstrakten Klasse AbstractCreator.
Gleichzeitig macht es ja Sinn, eine Fabrik als Singleton zu entwerfen (kein Konstruktor, eine statische getInstance-Methode),da sie ja nicht mehrfach initialisiert werden muss ...
ich habe also folgenden Code:
[highlight=Java]
public abstract class AbstractCreator {
public void create(){
// hier steht mein allgemeiner Code
concreteCreation();
}
protected abstract void concreteCreation();
}
[/highlight]
[highlight=Java]
public class FolderCreator {
@Override
protected void concreteCreation() {
// hier steht mein konkreter Code
}
}
[/highlight]
[highlight=Java]
public class FileCreator {
@Override
protected void concreteCreation() {
// hier steht mein konkreter Code
}
}
[/highlight]
meine Frage ist: wohin mit den Singleton-Methoden?
da meine AbstractCreator ja abstrakt ist, kann ich hier keine getInstance schreiben!
auf der anderen Seite kann ich ja bei 20 verschiedenen konkreten Fabriken nicht überall die gleiche getInstance reinkopieren, oder? das wäre doch auch nicht schön!
lg, guni