基于 Entity Framework、Autofac 的 UnitOfWork 框架(一)
之前公司项目参考 NopCommerce 开发了一套系统,但是不支持 UnitOfWork,最近想开发新的项目,所以就基于原有的基础上又添加 UnitOfWork 支持,由于目前正在逐步完善中,所以可能存在各种问题,这里发出来仅供大家参考。
1、项目结构
- Uow.Core:系统核心类库,包括接口和基类的定义等;
- Uow.Data:数据访问类库,包括 UnitOfWork、Repository 相关类和实体类型映射(OR maping)类;
- Uow.Entities:数据实体类库,包括数据实体定义类;
- Uow.Repositories:数据仓储类库,提供业务逻辑层访问数据的一些方法;
- Uow.Services:业务逻辑类库,调用数据仓储访问数据;
- Uow.Web:应用程序类库,Web 应用程序;
- Uow.Web.Framework:基础框架类库,封装一些介于业务逻辑和应用程序之间的一些方法和类,如分页控件、依赖注入等。
2、项目规划
后期我会把项目打造成一个基于 Bootstrap 和 angularjs 的后台管理系统,会包括一些日志管理、计划任务、缓存管理、权限管理和 SSO 单点登录等功能,目前正在逐步完善开发中。
3、一些思考
由于个人能力有限,感觉这个项目里 Uow.Repositories 层可有可无,可以合并到 Uow.Services 层里实现,个人觉得每层应该有各自的职责,所以保留了 Uow.Repositories 层。
4、其他说明
这个项目后期会持续开发并且更新,我会尽可能的抽时间来写后面的文章,做更详细的解释,如果您有宝贵的意见和建议,也欢迎指出。
5、下载
GitHub:https://github.com/weisenzcharles/Uow-Framework