Framework


Framework

Atención: La entrada hermana de Framework (en francés) de Wikipedia, está mucho mejor redactada.

La palabra inglesa "framework" define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática 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 tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, con base a la cual otro proyecto de software puede ser más fácilmente organizado y desarrollado. Típicamente, 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 metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio.

Contenido

Introducción

Son diseñados con la intención de facilitar el desarrollo de software, permitiendo a los diseñadores y programadores pasar más 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 cómo los retiros de ahorros van a funcionar en lugar de preocuparse de cómo se controla la navegación entre las páginas en una forma libre de errores. Sin embargo, hay quejas comunes acerca de que el uso de frameworks añade código innecesario y que la preponderancia de frameworks competitivos y complementarios significa que el tiempo que se pasaba 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 el conjunto de procesos y tecnologías usados para resolver un problema complejo. Es el esqueleto sobre el cual varios objetos son integrados para facilitar una solución dada.

Después 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 expresión del programa en sí mismo.

Básicos

No es más que una base de programación que atiende a sus descendientes (manejado de una forma estructural y/o en cascada), posibilitando cualquier respuesta ante las necesidades de sus miembros, o ene secciones de una aplicación (web), satisfaciendo así las necesidades más comunes del programador.

Arquitectura

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 la implementación de nuestro sistema:

  • Controlador:

Con este apartado podemos controlar el acceso (incluso todo) a nuestra aplicación, y esto puede incluir: archivos, scripts, y/o programas; cualquier tipo de información que permita la interfaz. Así, podremos diversificar nuestro contenido de forma dinámica, y estática (a la vez); pues, sólo debemos controlar ciertos aspectos (como se ha mencionado antes).

  • Modelo:

Este miembro del controlador maneja las operaciones lógicas, y de manejo de información (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 información, su complementación directa.

  • Vista:

Al final, a este miembro de la familia le corresponde dibujar, o expresar la última forma de los datos: la interfaz gráfica que interactúa con el usuario final del programa (GUI). Después de todo, a este miembro le toca evidenciar la información obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos espera demostrar la información.

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 dirección estática web es: conseguir un archivo físico 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 separación por capas que ofrece la arquitectura MVC). Y sólo la vista, puede demostrar dicha información. Con lo cual ya hemos generado la jerarquía de nuestro programa: Controlador, Modelo y Vista.

Lógica

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 sistema
    • Ruteador: con él podemos dividir nuestras peticiones sin tantas condicionales.
    • Cargador
        // 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']);

Esto cumple con algunas necesidades de simpleza informática. 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 (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();
         }
        }

Como resultado al solicitar (por ejemplo, ?section=Foo&name=Bar), deberíamos ver el siguiente texto:

Testing!!!.

Extendiendo

Podremos extender nuestro sistema con clases, o funciones propias o de algún 'plugin' o librería ajena. Solo que queremos extenderles sobre 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 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 inclusión: 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

Véase también


Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Framework — Framework  термин, имеющий размытое значение. Обычно используется в программировании, обозначая «простую концептуальную структуру, используемую для решения сложной, проблемной задачи». Значение этого термина существенно зависит от контекста его… …   Википедия

  • framework — UK US /ˈfreɪmwɜːk/ noun [C] ► a system of rules, ideas, or beliefs that is used to plan or decide something: a framework for sth »The future trade agenda can provide an important framework for restoring sustainable growth. within the framework of …   Financial and business terms

  • framework — Sir Ernest Gowers (1965) was greatly offended by what he saw as the overuse of the expression within (or in) the framework of, meaning broadly ‘in the context of’. Presumably he grew tired of reading it in successions of official Civil Service… …   Modern English usage

  • Framework — Frame work , n. 1. The work of framing, or the completed work; the frame or constructional part of anything; as, the framework of society. [1913 Webster] A staunch and solid piece of framework. Milton. [1913 Webster] 2. Work done in, or by means… …   The Collaborative International Dictionary of English

  • Framework —   [dt. »Gerüst«], in den 1980er Jahren ein Office Paket von Ashton Tate. Nach der Übernahme durch Borland (1991) wurde die Entwicklung eingestellt. Der Name bezog sich auf die Bezeichnung »Frame« für Fenster, da Framework eines der ersten… …   Universal-Lexikon

  • framework — index building (structure), configuration (confines), configuration (form), construction, content ( …   Law dictionary

  • framework — 1640s, from FRAME (Cf. frame) + WORK (Cf. work) (n.). Figurative sense is from 1816 …   Etymology dictionary

  • framework — *structure, skeleton, anatomy …   New Dictionary of Synonyms

  • framework — [n] foundation, core bare bones*, cage, fabric, frame, frame of reference*, groundwork, plan, schema, scheme, shell, skeleton, structure; concepts 439,479,733 …   New thesaurus

  • framework — ► NOUN ▪ a supporting or underlying structure …   English terms dictionary

  • framework — [frām′wʉrk΄] n. 1. a structure, usually rigid, serving to hold the parts of something together or to support something constructed or stretched over or around it 2. the basic structure, arrangement, or system 3. FRAME OF REFERENCE (sense 2) …   English World dictionary


Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.