2009-10-01 8 views

Respuesta

13

Zend Framework es un marco de uso a voluntad, que le permite utilizar algunos de sus componentes. Incluso podría usar algunos de estos componentes en una aplicación creada usando framework diferente. De esta forma, un marco de uso a voluntad es más parecido a una biblioteca de clases. *

Un marco de pila completa significa que el uso de cualquier parte de él depende de que usted lo use todo. Por ejemplo, debe utilizar la biblioteca de acceso a datos del marco, la arquitectura MVC, el andamiaje generador de código, etc. y todos estos componentes confían el uno en el otro trabajando juntos para formar el marco completo.

Re su comentario: Sí, el acoplamiento es una forma de verlo. Lo veo como un equilibrio entre suposiciones y flexibilidad. Un marco de full-stack supone que estás usando todo el framework juntos, y desde esa suposición puede hacer que ocurra algo de magia extra.

ZF fue diseñado para minimizar las suposiciones (es decir, minimizar el acoplamiento). Sus componentes hacen pocas suposiciones sobre si está utilizando el resto de los componentes, reduciendo las dependencias pero aumentando la flexibilidad. Pero menos suposiciones significan menos magia.

Ambos estilos de marco tienen ventajas legítimas.


* Una diferencia clave entre una biblioteca de clase simple y un marco es que se pretende que un marco sea extensible. Le recomendamos que mejore la funcionalidad de un marco a través de mecanismos OO como subclases o polimorfismo. Mientras que una biblioteca de clases puede suponer que usará su API tal cual, sin ampliar su funcionalidad.

+0

Oh, ya veo. Por lo tanto, parece que la pila completa es análoga a la estrechamente acoplada. Eso suena terrible;) ¡Gracias! –

+1

Cuando dices magia, ¿quieres decir que tienes que codificar menos porque el marco hace suposiciones y maneja más por ti automáticamente? –

+1

Por ejemplo, un controlador MVC puede buscar scripts de vista y clases de modelo en un directorio determinado y utilizar una determinada convención de nomenclatura de archivos. Si los archivos existen y tienen los nombres de clase correctos, se cargan y se usan automáticamente. No se requiere código, siempre y cuando siga la convención del marco. Muchas convenciones son posibles además de las convenciones de nombres de archivos, por ejemplo, las tablas y columnas de la base de datos deben nombrarse de cierta manera. Estas ideas están relacionadas con "convención sobre configuración" o "programación obstinada". –

Cuestiones relacionadas