[.net framework de desarrollo] .NETC # estructura de desarrollo de tres capas Demo explicación detallada y código fuente (1)

Se acerca el año y las cosas son mucho menos. Aunque he estado expuesto a algunos proyectos de estructura de tres capas, nunca los he escrito cuidadosamente de principio a fin. Muchas cosas todavía son vagas. Esta vez pasé varios días escribiendo de principio a fin Salió una demostración tan pequeña, y el proceso se graba aquí, para que lo revise más convenientemente en el futuro, y espero ayudar a algunos amigos.

El proyecto se divide en Modelo, IDAL, IBLL, DAL, BLL, WebUI, la base de datos es SQLServer, el acceso a datos usa EntityFramework5.0, usa una fábrica simple, singleton, fábrica abstracta y usa el archivo de configuración de reflexión + para cargar la biblioteca de clases. Cambiar el tiempo de compilación a tiempo de ejecución.

Beneficios:

1. Se puede desarrollar en paralelo para mejorar la eficiencia del desarrollo;

2. La base de datos no está limitada, y la base de datos se puede reemplazar a bajo costo;

3. Reutilización de código, una capa de acceso a datos puede usarse para múltiples capas de lógica de negocios, y una capa de lógica de negocios puede suministrar datos a múltiples expresiones;

4. El acoplamiento se reduce, los módulos dependen menos entre sí, los módulos conectables son fáciles de mantener, fáciles de actualizar y el posicionamiento de ERRORES es más preciso;

5. Debería estar allí, no puedo pensar en eso ...

El código fuente ha sido publicado en Code Cloud: https://gitee.com/xianglikai1/CSharpSanCengKaiFaDemo

Estructura de tres niveles: capa de acceso a datos, capa de lógica de negocios, capa de presentación y la estructura del proyecto es la siguiente:

Modelo: modelo de entidad de datos

IDAL: descripción de la interfaz de acceso a datos

IBLL: descripción de la interfaz de lógica de negocios

TestDAL: biblioteca de implementación de la interfaz de acceso a datos

TestBLL: biblioteca de lógica de implementación de la interfaz de lógica de negocios

WebUI: capa de presentación web

La base de datos utiliza dos tablas, Usuarios y Nación, la estructura es la siguiente:

La capa de modelo, utilizando EntityFramework5.0, agregó un archivo de clase de extensión

Código ExtendModel.cs

Descripción de la interfaz de acceso a datos IDAL, tales bibliotecas deben hacer referencia al Modelo, incluida una interfaz básica, dos interfaces de operación de clase de entidad y una fábrica;

Código de interfaz básico IBaseIDAL.cs

Código de interfaz de operación de clase de entidad IUsersIDAL.cs e INationIDAL.cs

Código de clase de fábrica DALFactory.cs, que utiliza la carga de archivos de reflexión y configuración para lograr bibliotecas de clases y objetos, al tiempo que reduce la dificultad del uso externo

La implementación de la interfaz de acceso a datos TestDAL, necesita hacer referencia al Modelo e IDAL, pero se carga dinámicamente

Código de fábrica de Singleton de contexto de datos DbContextFactory.cs

BaseDAL.cs clase de implementación de interfaz básica de acceso a datos, sin tener que implementar métodos repetidos en cada clase específica de acceso a datos

El código de implementación específico de UsersDAL.cs y NationDAL.cs

En la actualidad, las tres partes del Modelo, IDAL y DAL están completas, el proceso es

El papel de IDAL es comprender el acoplamiento. IDAL proporciona la descripción de la interfaz de operación de acceso a datos del modelo. DAL implementa IDAL. La fábrica en IDAL carga DAL a través del modo de tiempo de ejecución y simplifica el grado de uso externo, realiza el desarrollo paralelo y será reemplazado El trabajo de la base de datos se reduce al mínimo, lo que reduce la tasa de errores.

El siguiente artículo escribirá IBLL, BLL, WebUI.

Supongo que te gusta

Origin www.cnblogs.com/likesoft/p/12722408.html
Recomendado
Clasificación