Visual Basic Foro

General => General => Mensaje iniciado por: DROPTABLE en Diciembre 29, 2015, 08:04:54 pm

Título: [ENTREGA] Plataforma Para Colegios - MVC (Capas)
Publicado por: DROPTABLE en Diciembre 29, 2015, 08:04:54 pm
Muy buenos días/noches, en esta ocasión les traigo más teoría de cómo vamos ha realizar nuestras apps para conformar una plataforma, esto no es una regla y todos los conceptos van ha estar fundamentados.

Model, Views & Controllers - Wikipedia (https://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador)

Su fundamento es la separación del código en tres capas diferentes, acotadas por su responsabilidad, en lo que se llaman Modelos, Vistas y Controladores, o lo que es lo mismo, Model, Views & Controllers.

MVC fue inventado hace mucho tiempo ya, pero recientemente ha agarrado fuerza por los framework de la programación web, aunque esto se puede aplicar y debería aplicarse a todas las tecnologías de desarrollo. Esto nos permite no tener todos los huevos en una misma cesta, por así decirlo.

(http://codigobase.com/wp-content/uploads/2012/06/mvc.jpg)

Model (Modelos): Esta capa es opcional y se trabaja con ella cuando tenemos la necesidad de almacenar y rescatar información, osea MOTOR DE BASES DE DATOS, a la pregunta ¿Solo con tener una tabla o tablas ya tengo una base de datos? La Respuesta es NO.

El Motor de la base de datos, es capaz de pensar y no solo ejecutando consultas (INSERT, UPDATE, DELETE, SELECT) si no de poder manipular la información que se encuentra dentro de las tablas a que me refiero: TRIGGER, STORE PROCEDURE, FUNCTION por lo tanto debemos de manejar la normalización de bases de datos Wikipedia (http://). Que significa esto, pues es muy sencillo que toda la lógica que podamos pensar de nuestra aplicación si tiene que ver con la manipulación de datos debe de ir en el la base de datos, ¿Por Qué? R// Bueno esto nos va permitir sacarle el jugo al MOTOR y al procesador donde esté instalado nuestro servidor de Base de Datos para que no sea holgazán y poder hacer un cambio en la lógica en un solo lugar. Aunque muchas personas van a diferir de mi concepto, Model está creado exactamente para eso y lo que les puedo decir es que para los gustos existen los colores.

Views (Vistas): Este concepto es muy sencillo de entender, se trata de lo que el usuario va a ver al momento de ejecutar nuestra app ya sea webforms o winforms (Win = Ventana no a Sistema Operativo), con todos sus colores y controles, con lo bonito o lo feo que podamos presentarles, todos los lenguajes de programación orientada a objetos trabajan sus Views en el caso de winforms se crea un código por formulario que le dice al intérprete que propiedades tiene cada uno de los controles que nosotros hemos agregado, en el caso de los webforms se trabaja con CSS3, Frameworks u otros.

(http://www.vitaminasdev.com/manualImg/webformsvsmvc_webwindowsforms.png)

Controllers (Controlador): Este es el código de programación que utilizamos para negociar (por eso algunos la llaman capa de negocios), ahora bien quiero dejar algo completamente claro en este punto, los controladores hacen la función de intérprete entre la capa Vista y Modelo. Tienen la capacidad de modificar la apariencia de nuestras vistas y de poder hacer procedimientos para nuestros modelos, pero no es así como se debe de trabajar, el controlador es un traductor.

(https://i.imgur.com/jlwjrgf.png)

El concepto generalizado es que todo lo que tenga que ver con la interacción del usuario se quede en la vista, todo lo que tenga que ver con la base de datos debe de ir en el modelo, y la forma de representar en la vistas los datos del modelo y viceversa, algo así.

(https://i.imgur.com/aakYfMN.png)



Muchas Gracias, por acompañarme en este pequeño viaje, los espero en los comentarios.