예제 #1
0
        public void update(Observable arg0, object arg1)
        {
            CarroRoubado carroRoubado = (CarroRoubado)arg0;

            string acao = arg1.ToString();

            switch (acao)
            {
            case "frente":
                this.frente();
                break;

            case "direita":
                this.direita();
                break;

            case "esquerda":
                this.esquerda();
                break;

            case "para":
                this.para();
                break;
            }
        }
예제 #2
0
        /*
         * - INTENÇÃO: definir uma depend~encia um-para-muitos entre objetos, de maneira que quando um objeto muda
         *          de estado todos os seus dependentes são notificados e atualizados automaticamente
         */
        static void Main(string[] args)
        {
            //Observador
            CarroPolicia cp = new CarroPolicia();

            //Observado
            CarroRoubado cr = new CarroRoubado();

            // Adicionar observador ao observado
            cr.addObserver(cp);

            cr.frente();
            cr.direita();
            cr.frente();
            cr.esquerda();
            cr.para();
        }