Class3
Model‐View‐Controller
• O que é modelo, visão e controle?
• Como implementar a camada de modelo?
• O princípio da responsabilidade única
• Objetos imutáveis
• Quais eventos podem ser tratados?
• O que são cadeias de responsabilidades?
Um padrão bem conhecido
Visão
(View)
• O que é a visão?
• O que é o modelo?
Controlador
(Controller) • E o que é o controlador?
Modelo
(Model)
• Por que esse é um bom padrão de projeto?
Exemplo: fazedor de pontos
Especificação do programa:
Crie uma aplicação que desenhe pontos aleatórios na tela.
• Esta aplicação deverá ter dois botões, red e green.
• Ela terá também duas caixas de texto: x e y.
• E uma área de tela onde pontos devem ser desenhados.
• Ao clicar em red, um ponto vermelho deverá ser desenhado em uma posição aleatória dentro da área de pontos. • Ao clicar em green um ponto verde deverá ser desenhado.
• As caixas de texto marcarão a coordenada do último ponto desenhado. Qual é a visão do programa?
Especificação do programa:
Crie uma aplicação que desenhe pontos aleatórios na tela.
• Esta aplicação deverá ter dois botões, red e green.
• Ela terá também duas caixas de texto: x e y.
• E uma área de tela onde pontos devem ser desenhados.
• Ao clicar em red, um ponto vermelho deverá ser desenhado em uma posição aleatória dentro da área de pontos. ipo:
• Ao clicar em green um ponto verde deverá otótdesenhado. Prser tize um a m e u q s
E
• As caixas de texto marcarão a coordenada do último ponto sa s e d o p i t ó t o pr desenhado. visão.
ProtóRpo
• Quantos componentes esse protóRpo possui?
• O que é a grande área de desenho?
• Como criar esse protóRpo em XML?
– Como criar os botões?
<?xml version="1.0" encoding="u\‐8"?>
<LinearLayout xmlns:android="h`p://schemas.android.com/apk/res/android" android:id="@+id/root" android:orientaRon="verRcal" android:gravity="center_horizontal"