El modelo-vista-controlador (mvc) patrón de diseño

Los marcos son iOS orientado a objetos. Una manera fácil de entender lo que realmente significa es que pensar en un equipo que trabaja en una oficina. El trabajo que hay que hacer se divide y asigna a los miembros individuales del equipo (en este caso, objetos). Cada miembro del equipo tiene un trabajo y trabaja con otros miembros del equipo para hacer las cosas.

Lo que es más, un buen miembro del equipo no le importa cómo otros miembros hacer su trabajo, al igual que lo hacen de acuerdo a lo acordado en la división del trabajo. Del mismo modo, un objeto en la programación orientada a objetos se encarga de su propio negocio y no le importa lo que el objeto virtual en el cubículo de al lado está haciendo, con tal de que hará lo que tiene que hacer cuando se le preguntó a hacerlo.

programación orientada a objetos se desarrolló originalmente para hacer el código más mantenible, reutilizable, extensible y entendible por encapsulación de toda la funcionalidad de las interfaces detrás bien definidos. Los detalles reales de cómo funciona algo (así como sus datos) están ocultos, lo que hace modificar y ampliar una aplicación mucho más fácil.

Gran - hasta ahora -, sino una cuestión molesta sigue afectando a los programadores:

Exactamente, ¿cómo decidir sobre los objetos y lo que cada uno hace?

Video: PHP Session No. 1 - Patrones de diseño MVC y orientado a objetos con PHP

A veces la respuesta a esta pregunta es bastante fácil - sólo tiene que utilizar el mundo real como modelo. En una aplicación de RoadTrip, por ejemplo, algunas de las clases de objetos del modelo son Viaje, Eventos, Destino, y así. Pero cuando se trata de una estructura de programa genérico, cómo hacer a decidir cuáles deben ser los objetos? Puede que no sea tan obvio.

El patrón MVC es una manera bien establecida para funciones de aplicación grupo en objetos. Variaciones de la misma han existido al menos desde los primeros días de Smalltalk, uno de los primeros lenguajes orientados a objetos. El MVC es un patrón de alto nivel - se ocupa de la arquitectura de una aplicación y clasifica objetos de acuerdo con las funciones generales que desempeñan en una aplicación, en lugar de la perforación hacia abajo en detalles.

El patrón MVC crea, en efecto, un universo en miniatura para la aplicación, rellena con tres tipos distintos de objetos. También especifica las funciones y responsabilidades de los tres tipos de objetos y especifica la forma en que se supone que deben interactuar entre sí. Para hacer las cosas más concreto (es decir, mantener la cabeza de la explosión), imaginar una grande y bella, de 60 pulgadas, TV, TV de pantalla plana. Aquí está el quid:

  • los objetos del modelo: Estos objetos juntos comprenden el contenido de “motor” de su aplicación. Contienen datos y la lógica de la aplicación - de hacer su aplicación más que una cara bonita.

    Se puede pensar en el modelo (Que puede ser un objeto o varios que interactúan) como un programa de televisión en particular, uno que, francamente, no da un pitido sobre lo televisor se muestra en.

    De hecho, el modelo no debe dar un puntazo. A pesar de que es dueño de sus datos, debe tener ninguna conexión con la interfaz de usuario y debe ser felizmente ignorante de lo que se hace con sus datos.

  • Ver objetos: Estos objetos se muestren las cosas en la pantalla y responder a las acciones del usuario. Casi cualquier cosa que se puede ver es una especie de objeto de vista - la ventana y todos los controles, por ejemplo.

    Sus puntos de vista sabe cómo mostrar la información que reciben del objeto de modelo y cómo obtener ninguna entrada del usuario puede necesitar el modelo. Pero la vista en sí debe saber nada sobre el modelo. Puede gestionar una petición para mostrar algunos eventos, pero no molestarse con lo que significa que la solicitud.

    Se puede pensar en el ver como una pantalla de televisión que no se preocupa por lo que el programa se está mostrando o el canal que acaba de seleccionar.

    los UIKit marco proporciona diferentes tipos de vistas, como se entere en la siguiente sección.

    Si la vista no sabe nada sobre el modelo, y el modelo no sabe nada acerca de la vista, ¿cómo obtener los datos y otras notificaciones para pasar de uno a otro? Para conseguir que la conversación comenzada (Modelo: “He acaba de actualizar mis datos.” Ver: “Oye, dame algo para mostrar”, por ejemplo), se necesita el tercer elemento en el triunvirato MVC, el controlador.

  • objetos del controlador: Estos objetos se conectan objetos de vista de la aplicación para sus objetos del modelo. Suministran los objetos de vista con lo que necesitan para mostrar (obtenerlo a partir del modelo) y también proporcionar el modelo con la entrada del usuario desde la vista.

    Se puede pensar en el controlador como el circuito que tira de la Muestra del cable y luego lo envía a la pantalla o solicite una demostración particular de pay-per-view.

La arquitectura básica de aplicación se parece a la Figura 4-8.

La arquitectura básica de la aplicación.

Cuando se piensa en su aplicación en términos del modelo, ver y objetos del controlador, la UIKit marco comienza a tener sentido. Comprender el marco de esta manera también comienza a levantar la cortina niebla sobre dónde hacer al menos parte de su comportamiento específico de la aplicación ir.

Antes de ahondar en ese tema, sin embargo, lo que necesita saber un poco más sobre las clases que la UIKit proporciona, porque estos son los chicos con los que será tarea de implementar el patrón de diseño MVC - clases de ventana, clases de vista, y clases de controlador de vista.

Video: Curso Java Web Básico. 1.- Introducción al patrón de Diseño MVC

En Objective-C, clases incluyen variables de instancia, propiedades y métodos (que pueden acceder a las variables de instancia de una clase). Las clases son acerca de los archivos en su proyecto que contienen código. Las clases son tipos en su programa.

Objetos, por otro lado, existen en tiempo de ejecución y son instancias de una clase. Se puede pensar en una clase como un anteproyecto para construir un objeto de ese tipo.

Artículos Relacionados