Framework

10
En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software.

Transcript of Framework

Page 1: Framework

En el desarrollo de software, un framework oinfraestructura digital, es una estructuraconceptual y tecnológica de soportedefinido, normalmente con artefactos omódulos de software concretos, que puedeservir de base para la organización ydesarrollo de software.

Page 2: Framework

Representa una arquitectura de software quemodela las relaciones generales de lasentidades del dominio, y provee una estructuray una especial metodología de trabajo, la cualextiende o utiliza las aplicaciones deldominio.

Son diseñados con la intención de facilitar eldesarrollo de software, permitiendo a losdiseñadores y programadores pasar mástiempo identificando requerimientos desoftware que tratando con los tediosos detallesde bajo nivel de proveer un sistema funcional.

Page 3: Framework

Fuera de las aplicaciones en lainformática, framework puede serconsiderado como el conjunto de procesos ytecnologías usados para resolver un problemacomplejo. Es el esqueleto sobre el cual variosobjetos son integrados para facilitar unasolución dada.

Page 4: Framework

Framework no es más que una base deprogramación que atiende a susdescendientes (manejado de una formaestructural y/o en cascada), posibilitandocualquier respuesta ante las necesidades desus miembros, o en secciones de unaaplicación (web), satisfaciendo así lasnecesidades más comunes del programador.

Page 5: Framework

Dentro de este aspecto, podemos basarnos en el modelo MVC(Controlador => Modelo => Vista), ya que debemos fragmentarnuestra programación. Tenemos que contemplar estos aspectosbásicos en cuanto a la implementación de nuestro sistema:

Modelo

Este miembro del controlador maneja las operaciones lógicas, yde manejo de información (previamente enviada por suancestro), para resultar de una forma explicable y sin titubeos.Cada miembro debe ser meticulosamente llamado, con sucorrecto nombre y en principio, con su verdadera naturaleza: elmanejo de información, su complementación directa. Vista Alfinal, a este miembro de la familia le corresponde dibujar, oexpresar la última forma de los datos: la interfaz gráfica queinteractúa con el usuario final del programa (GUI). Después detodo, a este miembro le toca evidenciar la información obtenidahasta hacerla llegar al controlador. Solo (e inicialmente), nosespera demostrar la información.

Page 6: Framework

Controlador

Con este apartado podemos controlar elacceso (incluso todo) a nuestra aplicación, yesto puede incluir: archivos, scripts, y/oprogramas; cualquier tipo de información quepermita la interfaz. Así, podremos diversificarnuestro contenido de forma dinámica, yestática (a la vez); pues, sólo debemoscontrolar ciertos aspectos (como se hamencionado antes).

Page 7: Framework

Dentro del controlador, modelo o vista podemos manejar losiguiente: datos. Depende de nosotros como interpretar ymanejar estos 'datos'. Ahora, sabemos que el único dato deuna dirección estática web es: conseguir un archivo físico enel disco duro o de internet, etc. e interpretado o no, elservidor responde.

El modelo, al igual que el controlador y la vista, manejatodos los datos que se relacionen consigo (solo es elproceso medio de la separación por capas que ofrece laarquitectura MVC). Y sólo la vista, puede demostrar dichainformación. Con lo cual ya hemos generado la jerarquía denuestro programa: Controlador, Modelo y Vista.

Page 8: Framework

Ejemplos

// Index.php

// -----

// ------ Clases ------

class Base {}

class Controller extends Base {

function load($name) {

require_

$this->$name =& new $name();

}

}

class Model extends Controller {

function view($name, $data) {

extract($data);

include "app/view/" . $name . ".php";

}

}

Page 9: Framework

// ------ Router & Loader ------

function _route($controller, $model) {

if (is_file("app/$controller.php")) {

require_once "app/" . $controller . ".php";

$object = new $controller();

$object->$model();

}

}

// ----- Rutina -----

_route($_GET['section'], $_GET['name']);

Esto cumple con algunas necesidades de simpleza informática. Ahora solo nos basta controlar estos procesos, ampliarlos y complementarles con algunos scripts mas.

Page 10: Framework

AplicarSi nuestro archivo se llama Foo (clase), y nuestro otro archivo, bar (método) tenemos que crear el siguiente archivo dentro de la carpeta app/.// app/Foo.php

// -----class Foo extends Controller {

function foo() {$this->load('test');

}function bar() {

echo '<b>Testing</b>';echo $this->test->does();

}}