博客
关于我
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/

    你可能感兴趣的文章