上图是一个ASP.NET MVC结构图,
1 UI 表示层,处理与用户的交互,获取显示用户数据。
2 BLL 业务逻辑层 由用户提交的数据进行处理,调用数据访问层接口,并把处理结果返回UI。
3 IDAL 数据访问层定义接口 定义了数据访问的标准接口,并由具体的数据库实现。
4 DALFactory 数据访问层的抽象工厂,负责数据库访问对象的创建。
5 SqlServerDAL SQL Server数据库的访问接口的实现。
6 Model 业务实体。
7 SystemService 系统服务层 提供系统公共验证,消息显示,公共函数等。
可以根据项目大小选择。一般分层UI,BLL,SqlServerDAL和SystemService四个模块。
优点:1.数据库端可以灵活配置,通过系统配置注入,可以方便进行数据库系统的替换。
2.增加逻辑层,可以复用业务逻辑,实现业务逻辑的分离,降低系统的整体耦合性
缺点: 增加逻辑层,代码量增加,性能相对降低。
通用项目结构
依赖关系:
MVCCommon.Application依赖:
MVCCommon.Infrastructure依赖:无
MVCCommon.Infrastructure.Data依赖:
MVCCommon.Infrastructure.DataSource依赖:
MVCCommon.Infrastructure.Repository依赖:
MVCCommon.Model依赖:
MVCCommon.Service.Domain依赖:
MVCCommon.Service.External依赖:
MVCCommon.Service.IService依赖:
WebMVCCommonFramework.UI依赖:
MVCCommon.Application:业务应用层
MVCCommon.Infrastructure:基础层
MVCCommon.Infrastructure.Data:基础数据层
MVCCommon.Infrastructure.DataSource:基础数据源层
MVCCommon.Infrastructure.Repository:基础仓库层
MVCCommon.Service.Domain:服务调用层
MVCCommon.Service.External:外部服务调用层
MVCCommon.Service.IServices:外部接口服务调用层
MVCCommon.Model:实体层
MVCCommonFramework.UI:界面层
学习参考:
https://blog.csdn.net/u011966339/article/details/72772453 mvc源码
https://blog.csdn.net/zhuyu19911016520/article/details/52506542 MVC项目结构