diff Agendas/trunk/src/Agendas.Domain/EventoAgendadoState.cs @ 104:c5034884c7d7

refactor para que los estados sean singletons
author jorge.rowies
date Sun, 05 Jun 2011 13:22:36 -0300
parents 23325dddddcc
children 53bcd338542b
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/EventoAgendadoState.cs	Sun Jun 05 13:06:23 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/EventoAgendadoState.cs	Sun Jun 05 13:22:36 2011 -0300
@@ -4,14 +4,24 @@
 {
   public class EventoAgendadoState : EventoState
   {
-    public const string Descripcion = "Agendado";
+    private EventoAgendadoState()
+    {
+    }
+
+    private static readonly EventoState _instance = new EventoAgendadoState();
+    public static EventoState GetInstance()
+    {
+      return _instance;
+    }
+
+    private const string Descripcion = "Agendado";
 
     public override void Promover(Evento evento, Accion accion)
     {
       switch (accion)
       {
         case Accion.Confirmar:
-          evento.SetEstado(new EventoConfirmadoState());
+          evento.SetEstado(EventoConfirmadoState.GetInstance());
           evento.AddTrack(new Track(evento, Accion.Confirmar));
           break;
         default: