A mvc (mvc) padrão de design
Os quadros iOS são Orientado a Objeto. Uma maneira fácil de entender o que isso realmente significa é pensar em uma equipe que trabalha em um escritório. O trabalho que precisa ser feito é dividido e atribuído a membros individuais da equipe (neste caso, objetos). Cada membro da equipe tem um trabalho e trabalha com outros membros da equipe para fazer as coisas.
Além do mais, um membro da equipe boa não se importa como os outros membros fazem o seu trabalho, só que eles fazê-lo de acordo com o acordado divisão do trabalho. Da mesma forma, um objeto na programação orientada a objetos cuida de seu próprio negócio e não se importa com o que o objeto no cubículo virtual ao lado está fazendo, desde que ele vai fazer o que é suposto fazer quando solicitado a fazê-lo.
Programação orientada a objetos foi originalmente desenvolvido para tornar o código mais sustentável, reutilizáveis, extensível e compreensível encapsulando toda a funcionalidade interfaces de trás bem definidas. Os pormenores de como algo funciona (bem como seus dados) estão ocultas, o que torna modificando e ampliando uma aplicação muito mais fácil.
Grande - até agora - mas uma questão traquinas ainda assola programadores:
Exatamente como você decidir sobre os objetos e que cada um faz?
Às vezes, a resposta a essa pergunta é muito fácil - basta usar o mundo real como modelo. Em um aplicativo RoadTrip, por exemplo, algumas das classes de objetos do modelo são Viagem, Eventos, Destino, e assim por diante. Mas quando se trata de uma estrutura de programa genérico, como Faz você decide o que os objetos devem ser? Isso pode não ser tão óbvio.
O padrão MVC é uma forma bem estabelecida para funções de aplicação grupo em objetos. Variações do mesmo ter sido em torno de, pelo menos, desde os primeiros dias de Smalltalk, uma das primeiras linguagens orientadas a objeto. O MVC é um padrão de alto nível - aborda a arquitetura de um aplicativo e classifica objetos de acordo com os papéis gerais que eles jogam em um aplicativo, em vez de perfuração para baixo em detalhes.
O padrão MVC cria, com efeito, um universo em miniatura para a aplicação, preenchido com três tipos diferentes de objectos. Também especifica os papéis e responsabilidades para todos os três tipos de objetos e especifica a forma como eles estão supostamente para interagir uns com os outros. Para tornar as coisas mais concretas (isto é, para manter a cabeça de explodir), imagine um de 60 polegadas, TV grande, bonito, de ecrã plano. Aqui está a essência:
objetos de modelo: Esses objetos juntos formam o “motor” conteúdo do seu aplicativo. Eles contêm dados e lógica do aplicativo - tornando a sua aplicação mais do que apenas um rostinho bonito.
Você pode pensar no modelo (Que pode ser um objeto ou vários que interagem) como um programa de televisão particular, que, francamente, não dá um pio sobre o televisor é mostrado diante.
Na verdade, o modelo não deve dar um pio. Mesmo que detém os seus dados, ele deve ter nenhuma conexão com a interface do usuário e deve ser alegremente ignorante sobre o que é feito com seus dados.
Visualização de objetos: Esses objetos exibir coisas na tela e responder às ações do usuário. Praticamente qualquer coisa que você pode ver é uma espécie de visão do objeto - a janela e todos os controles, por exemplo.
Suas opiniões sabe como exibir informações que recebem do modelo de objeto e como obter qualquer entrada do usuário do modelo pode precisar. Mas a vista em si deve saber nada sobre o modelo. Pode lidar com um pedido para exibir alguns eventos, mas não incomoda-se com o que significa que o pedido.
Você pode pensar no Visão como uma tela de televisão que não se preocupa com o que programa está mostrando ou o canal que você acabou de selecionar.
o UIKit framework fornece muitos tipos diferentes de pontos de vista, como você descobrir na próxima seção.
Se a vista não sabe nada sobre o modelo, eo modelo não sabe nada sobre a vista, como você obter dados e outras notificações para passar de um para o outro? Para obter essa conversa começou (modelo: “Eu acabei de atualizar meus dados.” Ver: “Ei, me dê algo para mostrar”, por exemplo), é necessário o terceiro elemento no triunvirato MVC, o controlador.
objetos de controlador: Esses objetos conectar objetos de exibição do aplicativo para seus objetos de modelo. Eles fornecem os objetos de exibição com o que eles precisam para exibir (recebendo a partir do modelo) e também fornecer o modelo com entrada do usuário a partir do ponto de vista.
Você pode pensar no controlador como o circuito que puxa o show off do cabo e, em seguida, envia-lo para a tela ou solicita um determinado programa pay-per-view.
A arquitetura básica aplicativo parece com a Figura 4-8.
Quando você pensa sobre a sua aplicação em termos de modelo, vista, e objetos de controlador, o UIKit quadro começa a fazer sentido. Compreender a estrutura desta forma também começa a levantar o enforcamento névoa sobre onde fazer pelo menos parte do seu comportamento específico do aplicativo ir.
Antes de aprofundar o assunto, no entanto, você precisa saber um pouco mais sobre as classes que o UIKit fornece, porque estes são os caras que você vai tarefa de implementar o padrão de projeto MVC - aulas janela, vista classes e classes do controlador vista.
Em Objective-C, classes incluem as variáveis de instância, propriedades e métodos (que pode aceder as variáveis de instância de uma classe). As aulas são sobre os arquivos em seu projeto que contêm código. As aulas são tipos em seu programa.
Objetos, por outro lado, existem em tempo de execução e são casos de uma classe. Você pode pensar em uma classe como um projeto para construir um objeto desse tipo.