Programação Orientada a Objetos – Java – classes Observer e Observable Prof. Edwar Saliba Júnior – versão 1.0 Exemplo de utilização do Design Pattern Observer O código-fonte que será apresentado foi desenvolvido na IDE 1 NetBeans 7.0.1 e é um exemplo do padrão de projeto conhecido como Observer. A seguir é mostrada a representação em UML 2 e código-fonte em Java. Uma representação em UML do padrão de projeto Observer Figura 1: Modelo UML para o padrão de projeto Observer. 1 Integrated Development Environment. 2 Unified Modeling Language. [email protected] Dezembro / 2011 1/4 Programação Orientada a Objetos – Java – classes Observer e Observable Prof. Edwar Saliba Júnior – versão 1.0 Código em Java para o modelo apresentado na Figura 1 Figura 2: Classe SensorDeTemperatura Figura 3: Classe ArCondicionado [email protected] Dezembro / 2011 2/4 Programação Orientada a Objetos – Java – classes Observer e Observable Prof. Edwar Saliba Júnior – versão 1.0 Figura 4: Classe Aquecedor Figura 5: Classe Exemplo_PadraoObserver – método Main [email protected] Dezembro / 2011 3/4 Programação Orientada a Objetos – Java – classes Observer e Observable Prof. Edwar Saliba Júnior – versão 1.0 Resultado apresentado após execução do programa Figura 6: Resultado após execução do programa. Bibliografia InfoWorld – JavaWorld. Speaking on the Observer pattern. Disponível em: <http://www.javaworld.com/javaworld/javaqa/2001-05/04-qa-0525-observer.html? page=2> Acesso em: 30 dez. 2011. Java2s. A simple demo of Observable and Observer. Disponível em: <http://www.java2s.com/Code/Java/DesignPattern/AsimpledemoofObservableandObserver.htm> Acesso em: 30 dez. 2011. Macedo, Alexandre. Melhorando seu código com Design Patterns. Disponível em: <http://www.slideshare.net/alexmacedo/apresentacao-5925257> Acesso em: 30 dez. 2011. Oracle. Classe Observable. Documentação da linguagem Java. Disponível em: <http://docs.oracle.com/javase/6/docs/api/java/util/Observable.html> Acesso em: 30 dez. 2011. Oracle. Classe Observer. Documentação da linguagem Java. Disponível em: <http://docs.oracle.com/javase/6/docs/api/java/util/Observer.html> Acesso em: 30 dez. 2011. [email protected] Dezembro / 2011 4/4