Cómo escribir una arquitectura de tres niveles con ORM, es mejor dar un ejemplo.
ORM se puede entender de esta manera:
Generalmente, colocamos los datos requeridos por el sistema en la base de datos. Los datos utilizados en la página mostrada al usuario se obtienen leyendo la base de datos y procesándolos posteriormente.
Los datos de la base de datos están estructurados.
Los datos que necesitamos en la programación .net están orientados a objetos y están integrados.
Entonces: necesitamos un mecanismo que pueda convertir los datos estructurales de la base de datos en datos orientados a objetos. Entonces surgió una arquitectura común de tres capas en la arquitectura del sistema:
Capa inferior: DAL (Capa de acceso a datos, capa de acceso a datos)
Medio: BLL (Capa de lógica de negocios, capa de lógica de negocios ) )
Nivel superior: capa UI~
En DAL, usamos clases de entidad para completar la encapsulación de las tablas de la base de datos:
Por ejemplo: construimos un Sistema de gestión de artículos. Se requiere la siguiente tabla
[Artículos] [Categorías] [Comentarios]
Tome [Artículos] como ejemplo, incluidos los campos:
[ArticleID] [Título] [Contenido] [AddedBy] [AddedDate]
La clase de entidad correspondiente a la capa DAL es [ArticleDetails]
Contiene los siguientes atributos [ArticleID] [Title].. .etc. 5 atributos, correspondientes a los 5 campos de la tabla.
Correspondientes a las tres tablas de la base de datos, tenemos tres clases de entidad.
Cree la clase SqlArticlesProvider para completar la encapsulación de las operaciones de la base de datos.
Por lo general, cada método encapsula un procedimiento almacenado~
Por ejemplo: método GetArticles(int CategoryID).
Nos conectamos a la base de datos, llamamos al SP y encapsulamos el DataReader devuelto en la colección de clases de entidad Listlt;ArticleDetailsgt;. Para transmisión a la capa BLL.
Capa BLL:
Las clases que contiene se denominan objetos de dominio. Hay [Artículo] [Categoría] [Comentario]
Cada clase aquí es una clase en nuestra programación orientada a objetos tradicional.
Cada objeto contiene métodos que describen sus propias propiedades y comportamiento ejecutable.
La capa UI llama directamente a las clases de la capa BLL para obtener datos y muestra la página a través del control de enlace de datos ~
Es un poco confuso. . . Simplemente decir esto no es suficiente. .
Y la práctica real de la programación es más complicada que esto. .
El sistema después de la arquitectura de tres niveles es más fácil de mantener. Cambiar el almacenamiento de datos subyacente requiere muy pocos cambios.
Por lo tanto, se utiliza principalmente en arquitecturas de sistemas grandes y medianos.
Y ahora que se lanza LINQ, la cantidad de codificación también se ha reducido. Pero aprender LINQ solo llevará mucho tiempo.
Si no necesita LINQ, todavía hay muchos códigos de herramientas que pueden ayudar a crear algunas clases automáticamente~