Está en la página 1de 5

Framework

Framework
Atencin: La entrada hermana de Framework (en francs) de Wikipedia, est mucho mejor redactada. La palabra inglesa "framework" define, en trminos generales, un conjunto estandarizado de conceptos, prcticas y criterios para enfocar un tipo de problemtica particular, que sirve como referencia para enfrentar y resolver nuevos problemas de ndole similar. En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnolgica de soporte definido, normalmente con artefactos o mdulos de software concretos, con base a la cual otro proyecto de software puede ser ms fcilmente organizado y desarrollado. Tpicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para as ayudar a desarrollar y unir los diferentes componentes de un proyecto. Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodologa de trabajo, la cual extiende o utiliza las aplicaciones del dominio.

Introduccin
Son diseados con la intencin de facilitar el desarrollo de software, permitiendo a los diseadores y programadores pasar ms tiempo identificando requerimientos de software que tratando con los tediosos detalles de bajo nivel de proveer un sistema funcional. Por ejemplo, un equipo que usa Apache Struts para desarrollar un sitio web de un banco, puede enfocarse en cmo los retiros de ahorros van a funcionar en lugar de preocuparse de cmo se controla la navegacin entre las pginas en una forma libre de errores. Sin embargo, hay quejas comunes acerca de que el uso de frameworks aade cdigo innecesario y que la preponderancia de frameworks competitivos y complementarios significa que el tiempo que se pasaba programando y diseando ahora se gasta en aprender a usar los frameworks. Fuera de las aplicaciones en la informtica, puede ser considerado como el conjunto de procesos y tecnologas usados para resolver un problema complejo. Es el esqueleto sobre el cual varios objetos son integrados para facilitar una solucin dada. Despus de todo, un framework no debe ser consciente de todos estos requerimientos sin tener que ser intrusivo con las aplicaciones que permite dentro de s mismo. A esto le sumamos la capacidad de extenderse sin prejuicios para diversificar la expresin del programa en s mismo.

Bsicos
No es ms que una base de programacin que atiende a sus descendientes (manejado de una forma estructural y/o en cascada), posibilitando cualquier respuesta ante las necesidades de sus miembros, o en secciones de una aplicacin (web), satisfaciendo as las necesidades ms comunes del programador.

Arquitectura
Dentro de este aspecto, podemos basarnos en el modelo MVC (Controlador => Modelo => Vista), ya que debemos fragmentar nuestra programacin. Tenemos que contemplar estos aspectos bsicos en cuanto a la implementacin de nuestro sistema: Controlador: Con este apartado podemos controlar el acceso (incluso todo) a nuestra aplicacin, y esto puede incluir: archivos, scripts, y/o programas; cualquier tipo de informacin que permita la interfaz. As, podremos diversificar nuestro contenido de forma dinmica, y esttica (a la vez); pues, slo debemos controlar ciertos aspectos (como se ha mencionado antes). Modelo:

Framework Este miembro del controlador maneja las operaciones lgicas, y de manejo de informacin (previamente enviada por su ancestro), para resultar de una forma explicable y sin titubeos. Cada miembro debe ser meticulosamente llamado, con su correcto nombre y en principio, con su verdadera naturaleza: el manejo de informacin, su complementacin directa. Vista: Al final, a este miembro de la familia le corresponde dibujar, o expresar la ltima forma de los datos: la interfaz grfica que interacta con el usuario final del programa (GUI). Despus de todo, a este miembro le toca evidenciar la informacin obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos espera demostrar la informacin.

Estructura
Dentro del controlador, modelo o vista podemos manejar lo siguiente: datos. Depende de nosotros como interpretar y manejar estos 'datos'. Ahora, sabemos que el nico dato de una direccin esttica web es: conseguir un archivo fsico en el disco duro o de internet, etc. e interpretado o no, el servidor responde. El modelo, al igual que el controlador y la vista, maneja todos los datos que se relacionen consigo (solo es el proceso medio de la separacin por capas que ofrece la arquitectura MVC). Y slo la vista, puede demostrar dicha informacin. Con lo cual ya hemos generado la jerarqua de nuestro programa: Controlador, Modelo y Vista.

Lgica
Al parecer, debemos inyectar ciertos objetos dentro de sus parientes en esta aplicacin, solo as compartirn herencia y coherencia en su aplicacin. Rpidamente, para una aplicacin web sencilla debemos establecer estos objetos: Una base (MVC) Controlador: ste debe ser capaz de manejar rutas, archivos, clases, mtodos y funciones. Modelo: es como un script habitual en el servidor, solo que agrupado bajo un 'modelo' reutilizable. Vista: como incluyendo cualquier archivo en nuestra ejecucin, muy simple. Un sistema Ruteador: con l podemos dividir nuestras peticiones sin tantas condicionales. Cargador

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) {

Framework extract($data); include "app/view/" . $name . ".php"; } } // ------ 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 informtica. Ahora solo nos basta controlar estos procesos, ampliarlos y complementarles con algunos scripts mas.

Aplicando
Si nuestro archivo se llama Foo (clase), y nuestro otro archivo, Bar (mtodo) 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(); } } Como resultado al solicitar (por ejemplo, ?section=Foo&name=Bar), deberamos ver el siguiente texto: Testing!!!.

Framework

Extendiendo
Podremos extender nuestro sistema con clases, o funciones propias o de algn 'plugin' o librera ajena. Solo que queremos extenderles sobre nuestro sistema actual, nuestro objeto bsico. // app/model/Test.php // ----class Test extends Model { function does() { echo '<ins>Hecho esta!</ins>'; echo $this->view('look', array('my_var' => 'my_value')); } } Entonces, debemos usar la siguiente sentencia dentro de nuestro programa Foo: $this->load($this, 'test') o _load($this, 'test') Ya con esto, podremos utilizar las llamadas a $this->test->does() dentro del objeto o clase Foo.

Viendo
Para mostrar los resultados de todo nuestro computo necesitamos de vistas, o archivos de inclusin: plantillas, bloques o scripts. Suponiendo que ya ha sido todo, debemos de visualizarlo: // app/view/Look.php // ----echo 'Variable: ' . $my_var;

Para poder ejecutar esto, se debe llamar a esta sentencia: $this->view('look', array ('my_var' => 'my_value')) obteniendo como resultado: Variable: my_value

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


Framework Fuente: http://es.wikipedia.org/w/index.php?oldid=53461854 Contribuyentes: Addsmgt, Alalou, Aliman5040, Aloriel, AnselmiJuan, Antonio V. G., Armando.Mejia, Asereware, Carmin, Christianikolai, Davidangelleoacedo, Diegusjaimes, Digigalos, Eaco, Edub, El Moska, Elabra sanchez, Eliurkis, Emilioar 2000, Ensada, Fernando Estel, Gacpro, GermanX, Globalpegasus, Humberto, Jag2k4, Javierpaniza, Jkbw, Jonik, Jorge 2701, Josexu32, Julian Mendez, Jynus, Kalith, Klohn, Laura Fiorucci, Leugim1972, Linnk, LordT, Luciano peti, Maldoror, Mapa-uv, Matdrodes, Matute, Millars, Minterior, Mushii, Octaviocortes, Pablo323, Paporrubio, Pateketrueke, Ppazos, Qwertyytrewqqwerty, Robert77, Rodrigouy7, Serverex, Shooke, Super braulio, Taty2007, Tomatejc, Tostadora, Vanbasten 23, VeroSantillanRoldan, Wilfredor, Yrithinnd, 165 ediciones annimas

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/

También podría gustarte