Download - Framework

Transcript
Page 1: Framework
Page 2: Framework

En informática, y específicamente en el desarrollo de software, un marco esuna estructura lógica de los medios en los que un software puede serdiseñado e implementado. En la base de un marco siempre hay unconjunto de bibliotecas de código que se pueden utilizar con uno o máslenguajes de programación, a menudo acompañada de una serie deherramientas para apoyar el desarrollo de software, tales como unIDE, depurador, y otras herramientas diseñado para aumentar la velocidadde desarrollo del producto acabado.

Un framework o infraestructura digital, es una estructura conceptual ytecnológica de soporte definido, normalmente con artefactos o módulosde software concretos, que puede servir de base para la organización ydesarrollo de software. Típicamente, puede incluir soportede programas, bibliotecas, y un lenguaje interpretado, entre otrasherramientas, para así ayudar a desarrollar y unir los diferentescomponentes de un proyecto.

Representa una arquitectura de software que modela las relacionesgenerales de las entidades del dominio, y provee una estructura y unaespecial metodología de trabajo, la cual extiende o utiliza las aplicacionesdel dominio.

Page 3: Framework

Son diseñados con la intención de facilitar el desarrollo de software, permitiendo alos diseñadores y programadores pasar más tiempo identificando requerimientosde software que tratando con los tediosos detalles de bajo nivel de proveer unsistema funcional. Por ejemplo, un equipo que usa Apache Struts para desarrollarun sitio web de un banco, puede enfocarse en cómo los retiros de ahorros van afuncionar en lugar de preocuparse de cómo se controla la navegación entre laspáginas en una forma libre de errores. Sin embargo, hay quejas comunes acerca deque el uso deframeworks añade código innecesario y que la preponderanciade frameworks competitivos y complementarios significa que el tiempo que sepasaba programando y diseñando ahora se gasta en aprender a usar los frameworks.Fuera de las aplicaciones en la informática, puede ser considerado como elconjunto de procesos y tecnologías usados para resolver un problema complejo. Esel esqueleto sobre el cual varios objetos son integrados para facilitar una solucióndada.

Page 4: Framework

El propósito de un marco es para guardar el desarrollador de lareescritura de código ya escrito anteriormente para tareas similares. Estacircunstancia se ha producido más a menudo como interfaces de usuarioque se han convertido en cada vez más complejo, o, más engeneral, como que ha aumentado la cantidad de software con unafuncionalidad similar secundaria.El marco Inglés plazo por lo que se puede traducir como un marco oestructura, que es precisamente su función, hacer hincapié en que elprogramador sólo queda crear el contenido real de la "aplicación.Un marco se define por un conjunto de clases abstractas y las relacionesentre ellos. Instancias de un marco de medios que proporcionan unaimplementación de las clases abstractas. El conjunto de clasesconcretas, heredando el marco definido, hereda las relaciones entre lasclases, se obtiene de esta manera un conjunto de clases de concreto conun conjunto de relaciones entre las clases.

Page 5: Framework

Un marco puede ser vista como (y en algunos casos es) un super conjunto o unaadición a las bibliotecas de tiempo de ejecución de un idioma. Para dar algunosejemplos:

El C + +, además de la biblioteca estándar de C + +, su propio marco no es gráfica, laBiblioteca de plantillas estándar (STL), sin embargo, existen numerosos marcos queamplían o, en parte, sustituir el STL, incluyendo el Active Template Library (ATL) yMicrosoft Foundation Classes (MFC) de Microsoft, Qt de Trolltech, y wxWidgets.Microsoft también ha desarrollado una aplicación de C + + (ahora estándar ECMA C+ + / CLI), que es totalmente compatible con el. NET Framework.

La biblioteca C tiene su propio tiempo de ejecución, la biblioteca estándar de C,también conocida como libc (en Unix) o CRT (en Microsoft, C Run-Time), pero hayvarios marcos de C, incluyendo el kit de herramientas GIMP (GTK).

Para C #, que no tenga su propia biblioteca de tiempo de ejecución. NET Frameworktambién realiza esta función. Lo mismo se aplica a. NET de Visual Basic, que ha sidodiseñado de una manera similar.

Todo el software escrito en Borland Delphi se basa en la Biblioteca VisualComponent (VCL), también por Borland, hizo esta biblioteca es una estructura, yaque se ocupa de una gran cantidad de servicios no esenciales, software (incluyendo,por supuesto, la gestión de la interfaz gráfica). Al igual que con el Microsoft C + +,Borland ha hecho también una versión de Delphi que se inclina. NET Framework.

Page 6: Framework

Dentro de este aspecto, podemos basarnos en el modelo MVC (Controlador=> Modelo => Vista), ya que debemos fragmentar nuestra programación.Tenemos que contemplar estos aspectos básicos en cuanto a laimplementación de nuestro sistema:Modelo Este miembro del controlador maneja las operaciones lógicas, y demanejo de información (previamente enviada por su ancestro), para resultarde una forma explicable y sin titubeos. Cada miembro debe sermeticulosamente llamado, con su correcto nombre y en principio, con suverdadera naturaleza: el manejo de información, su complementacióndirecta. Vista Al final, a este miembro de la familia le corresponde dibujar, oexpresar la última forma de los datos: la interfaz gráfica que interactúa con elusuario final del programa (GUI). Después de todo, a este miembro le tocaevidenciar la información obtenida hasta hacerla llegar al controlador. Solo(e inicialmente), nos espera demostrar la información. Controlador Con esteapartado podemos controlar el acceso (incluso todo) a nuestra aplicación, yesto puede incluir: archivos, scripts, y/o programas; cualquier tipo deinformación que permita la interfaz. Así, podremos diversificar nuestrocontenido de forma dinámica, y estática (a la vez); pues, sólo debemoscontrolar ciertos aspectos (como se ha mencionado antes).

Page 7: Framework

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 dirección estática web es:conseguir un archivo físico en el disco duro o de internet, etc. einterpretado o no, el servidor responde.

El modelo, al igual que el controlador y la vista, maneja todos los datosque se relacionen consigo (solo es el proceso medio de la separaciónpor capas que ofrece la arquitectura MVC). Y sólo la vista, puededemostrar dicha información. Con lo cual ya hemos generadola jerarquía de nuestro programa: Controlador, Modelo y Vista.

Page 8: Framework

Al parecer, debemos inyectar ciertos objetos dentro de sus parientes en esta aplicación, solo así compartirán herencia y coherencia en su aplicación.Rápidamente, para una aplicación web sencilla debemos establecer estos objetos:

UNA BASE (MVC)Controlador: éste debe ser capaz de manejar rutas, archivos, clases, métodos 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 ejecución, muy simple.

UN SISTEMARuteador: con él podemos dividir nuestras peticiones sin tantas condicionales.Cargador

Page 9: Framework

// 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"; }}// ------ 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']);

Page 10: Framework

Si nuestro archivo se llama Foo (clase), y nuestro otro archivo, bar(método) tenemos que crear el siguiente archivo dentro dela 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),deberíamos ver el siguiente texto:Testing

Page 11: Framework

Podremos extender nuestro sistema con clases, o funciones propiaso de algún 'plugin' o librería ajena. Solo que queremos extenderlessobre nuestro sistema actual, nuestro objeto básico.

// 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 nuestroprograma 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.

Page 12: Framework

Para mostrar los resultados de todo nuestro computonecesitamos de vistas, o archivos deinclusión: plantillas, bloques o scripts. Suponiendo que ya hasido 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

Page 13: Framework

Top Related