tengo un codigo basado en el patron de diseño strategy(estrategia).
el patron de estagia seria asi
Código Javascript:
Ver original
public static void main(String[] args) { Carro sandero = new Carro(); sandero.mover();
el singleton segun con otro codigo que tengo seria asi
Código Javascript:
Ver original
public static void main(String[] args) { Singleton singleton1=Singleton.getSingleton(); Singleton singleton2=Singleton.getSingleton(); Singleton singleton3=Singleton.getSingleton(); if(singleton1==singleton2) System.out.println("Son el mismo objeto "); else System.out.println("no son el mismo objeto "); singleton1.set(5); singleton2.set(3); System.out.println(singleton1.getx());
como podemos ver en el primero hago uso de contructores
y el segundo hago llamar el metodo.
mi pregunta es
que como aplico el singleton en el primer patron
yo tengo esto
mi main
Código Javascript:
Ver original
public static void main(String[] args) { Carro sandero = new Carro(); Camioneta explorer = new Camioneta(); Helicoptero halcon1 = new Helicoptero(); Crucero titanic = new Crucero(); Avioneta cesna = new Avioneta(); Carro delorean = new Carro(); sandero.mover(); explorer.mover(); halcon1.mover(); titanic.mover(); cesna.mover(); delorean.setAlgoritmoMover(new AlgoritmoVolando()); delorean.mover(); delorean.setAlgoritmoMover(new AlgoritmoTimeTravel()); delorean.mover(); }
uno de los metodos el cual crea new AlgoritmoManejando
Código Javascript:
Ver original
public class Carro extends Vehiculo { public Carro() { setAlgoritmoMover(new AlgoritmoManejando()); } }
Código Javascript:
segun me dijo el profe que no puedo usar cosntrctores cuando meto el singleton en estoVer original
public class AlgoritmoManejando implements AlgoritmoMover { public void mover() { System.out.println("Voy manejando"); } }
el ejemeplo que tengo del singleton para guiarme es este
Código Javascript:
y lo que ya les puse al principioVer original
final class Singleton { private static final Singleton singleton=new Singleton(); private Singleton(){ } private int x; public static Singleton getSingleton(){ return singleton; } void set(int x){ this.x=x; } int getx(){ return x; } }
el singleton hace llamar le metodo y realiza un ciclo if
mi pregunta es como hago llamar esos metodos sin en el main de los vehiculos sin la nesecidad de crearlos o de intsnciar de ellos
osea sin poner
Metodo metodo= new algo;
lo que me pidieron es no puedo usar el constructor del algoritmo
espero que me puedan ayudar
ya me despere