Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/EventoConfirmadoState.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/EventoConfirmadoState.cs Sun Jun 05 13:06:23 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Domain/EventoConfirmadoState.cs Sun Jun 05 13:22:36 2011 -0300 @@ -4,14 +4,24 @@ { public class EventoConfirmadoState : EventoState { - public const string Descripcion = "Confirmado"; + private EventoConfirmadoState() + { + } + + private static readonly EventoState _instance = new EventoConfirmadoState(); + public static EventoState GetInstance() + { + return _instance; + } + + private const string Descripcion = "Confirmado"; public override void Promover(Evento evento, Accion accion) { switch (accion) { case Accion.Publicar: - evento.SetEstado(new EventoPublicadoState()); + evento.SetEstado(EventoPublicadoState.GetInstance()); evento.AddTrack(new Track(evento, Accion.Publicar)); break; default: