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

    你可能感兴趣的文章
    OAuth2.0_授权服务配置_客户端详情配置_Spring Security OAuth2.0认证授权---springcloud工作笔记142
    查看>>
    OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
    查看>>
    OAuth2.0_授权服务配置_资源服务测试_Spring Security OAuth2.0认证授权---springcloud工作笔记146
    查看>>
    OAuth2.0_环境介绍_授权服务和资源服务_Spring Security OAuth2.0认证授权---springcloud工作笔记138
    查看>>
    OAuth2.0_环境搭建_Spring Security OAuth2.0认证授权---springcloud工作笔记139
    查看>>
    oauth2.0协议介绍,核心概念和角色,工作流程,概念和用途
    查看>>
    OAuth2授权码模式详细流程(一)——站在OAuth2设计者的角度来理解code
    查看>>
    oauth2登录认证之SpringSecurity源码分析
    查看>>
    OAuth2:项目演示-模拟微信授权登录京东
    查看>>
    OA系统多少钱?OA办公系统中的价格选型
    查看>>
    OA系统选型:选择好的工作流引擎
    查看>>
    OA让企业业务流程管理科学有“据”
    查看>>
    OA项目之会议通知(查询&是否参会&反馈详情)
    查看>>
    Vue.js 学习总结(13)—— Vue3 version 计数介绍
    查看>>
    OA项目之我的会议(会议排座&送审)
    查看>>
    OA项目之我的会议(查询)
    查看>>
    OA项目之我的审批(会议查询&会议签字)
    查看>>
    OA项目之项目简介&会议发布
    查看>>
    ObjC的复制操作
    查看>>
    Object c将一个double值转换为时间格式
    查看>>