博客
关于我
Asp.net mvc项目架构分享系列之架构概览
阅读量:461 次
发布时间:2019-03-06

本文共 1221 字,大约阅读时间需要 4 分钟。

Asp.net mvc项目架构分享系列之架构概览

项目简介

本项目基于ASP.NET MVC5+EF6开发,主要面向内部管理系统及报表处理模块的开发。该项目采用分层架构设计,通过清晰的模块划分和技术选择,确保系统的可维护性和扩展性。

项目解决方案分层方案

本项目的解决方案分为五大主要层次,每个层次承担着特定的功能模块:

  • UI 层

    • Web(网站主项目):主要负责用户交互界面,包括后台管理界面和报表展示界面。
    • AdminLogic(管理员控制器逻辑):负责实现管理员的核心操作逻辑。
    • WebHelper(web帮助类库):提供通用功能模块,支持多种业务逻辑需求。
    • Web.Tests(单元测试):目前尚未加入项目,计划未来使用NUnit进行单元测试。
  • Service 层

    • IBLL(业务逻辑接口层):定义业务逻辑的接口,确保各层模块对业务逻辑的统一定义。
    • BLL(业务逻辑实现层):实现IBLL定义的业务逻辑接口。
  • Repository 层

    • IDAL(数据库服务接口层):提供数据库操作的通用接口,确保各层模块对数据库操作的统一定义。
    • MSSQLDAL(MSSQLServer数据服务实现层):负责MSSQL数据库的数据操作实现。
    • MYSQLDAL(MySQL数据服务实现层):已从解决方案中移除。
  • Infrastructure 层

    • Core(框架基础核心方法类库):提供通用功能模块,包括数据处理、日志记录等基础功能。
    • Models(数据模型层):定义和管理系统中所有数据模型,确保数据结构的统一性。
  • 所用到的技术

  • 日志框架——log4net:用于系统日志记录,支持多种日志级别配置。
  • 数据层ORM——EF CodeFirst:通过代码第一模式,自动生成数据库表结构,简化数据操作。
  • 报表相关——NPOI:用于Excel、Word等格式的报表生成。
  • 基于接口编程——通过反射获取相应的接口实现类:实现灵活的接口扩展。
  • 项目引用关系

    各层模块之间的引用关系如下:

    • Models:核心数据模型 layer,所有层都依赖。
    • Core:基础功能类库 layer,所有层均依赖。
    • IDAL:核心数据库服务接口 layer,依赖Models和Core。
    • MSSQLDAL:具体实现MSSQL database操作,依赖IDAL、Core和Models。
    • MYSQLDAL:已移除。
    • IBLL:业务逻辑接口 layer,依赖IDAL、Core和Models。
    • BLL:业务逻辑实现层,依赖IBLL、IDAL、Core和Models。
    • WebHelper:web辅助类库,依赖IBLL、Core和Models。
    • AdminLogic:管理员逻辑控制器,依赖WebHelper、Core和Models。
    • Web:主网站项目,依赖AdminLogic、WebHelper、Core和Models。

    通过清晰的层次划分和引用关系,确保了系统的高效维护和可扩展性。

    转载地址:http://kpubz.baihongyu.com/

    你可能感兴趣的文章
    NFinal学习笔记 02—NFinalBuild
    查看>>
    NFS共享文件系统搭建
    查看>>
    nfs复习
    查看>>
    NFS网络文件系统
    查看>>
    ng 指令的自定义、使用
    查看>>
    nginx + etcd 动态负载均衡实践(二)—— 组件安装
    查看>>
    nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
    查看>>
    Nginx + Spring Boot 实现负载均衡
    查看>>
    Nginx + uWSGI + Flask + Vhost
    查看>>
    Nginx - Header详解
    查看>>
    Nginx Location配置总结
    查看>>
    Nginx upstream性能优化
    查看>>
    Nginx 中解决跨域问题
    查看>>
    Nginx 动静分离与负载均衡的实现
    查看>>
    Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>
    Nginx 反向代理配置去除前缀
    查看>>
    nginx 后端获取真实ip
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    nginx 常用配置记录
    查看>>