Pregunta

Estoy confundido acerca de las diferentes posibilidades para expresar una arquitectura de 3 capas.

Data-Access-Layer
Business-Layer
Presentation Layer (User Interface)

o

Database (aka Backend)
Business-Layer
Presentation Layer (User Interface)

¿Por qué se puede omitir la base de datos en la primera aproximación? Tanto utilizar una base de datos! ¿La base de datos pertenecen a la estratificación o no?!

Lo que está mal y lo que es correcto?

Puede alguien de ustedes aclarar esto?

¿Fue útil?

Solución

Data-Access-Layer
Business-Layer
Presentation Layer (User Interface)

de datos de capa de acceso no es necesariamente una base de datos. Podría ser un archivo XML. Podría ser un canal RSS. Podría ser una aplicación externa. Podría ser cualquier cosa te gusta que recibe datos en su aplicación.

Así que es realmente:

[Data-Source]
Data-Access-Layer
Business-Layer
Presentation Layer (User Interface)

donde [Data-Source] es la base de datos, XML, RSS, lo que sea ... Yo prefiero pensar en los datos de código como un controlador, no una capa.

La flexibilidad de este enfoque le permite intercambiar su fuente de datos sin tocar el resto de la aplicación. Así que si usted comenzó mediante el uso de archivos XML como sus datos de back-end, y luego desea cambiarlo a una base de datos en su lugar, sólo se toca la capa DAL - el resto de la aplicación no le importa con tal de que todavía recibe el los datos en el mismo formato.

Otros consejos

¿Usted ha considerado que su dal no puede usar una base de datos que podría utilizar un archivo XML?

El primer enfoque está utilizando un concepto más abstracto que es lo que la capa 3 tier es.

El material que va en cada capa depende de la implementación del las gradas. Yuo puede encontrar que usted mezcla sus capas entre 'programas' GUI / DB / bizLogic pero en el resumen que sigue MANTENER esas capas.

  

de datos de capa de acceso
  Negocios-Capa
  Capa de Presentación (interfaz de usuario)

Teniendo en cuenta lo anterior se puede wirte código que se conecta a su base de datos. Es que el DAL o la lógica?

Me volvería a considerar que el DAL como que está escribiendo código para acceder a los datos.

Presentación de nivel
    Este es el nivel más alto de la aplicación. La información de nivel pantallas de presentación relacionadas con servicios tales como la navegación mercancía, compra, compras y contenido del carrito. Se comunica con otros niveles de salida de resultados a la / nivel de cliente navegador y todos los demás niveles de la red.
Nivel de aplicación (Lógica de Negocio / Lógica Nivel / Tier Data Access / de etapa intermedia)
    La capa de lógica se tira hacia fuera de la capa de presentación y, como su propia capa, que controla la funcionalidad de una aplicación mediante la realización de procesamiento detallado.
Nivel de datos
    Este nivel se compone de servidores de bases de datos. Aquí la información se almacena y se recupera. Este nivel de datos mantiene neutral e independiente de servidores de aplicaciones o la lógica de negocio. Los datos que dan su propio nivel también mejora la escalabilidad y el rendimiento.

Ver siguiente para más detalles:
http://en.wikipedia.org/wiki/Multitier_architecture

grupo de Patrones y Prácticas de Microsoft tiene una excelente arquitectura guía que pasa por todas las variaciones sobre este tema . Es un poco enfocada hacia .NET, pero es muy aplicable a cualquier entorno. muy recomendable.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top