之前公司项目参考 NopCommerce 开发了一套系统,但是不支持 UnitOfWork,最近想开发新的项目,所以就基于原有的基础上又添加 UnitOfWork 支持,由于目前正在逐步完善中,所以可能存在各种问题,这里发出来仅供大家参考。

1、项目结构

基于 EntityFramework、Autofac 的 UnitOfWork 框架(一)-LMLPHP

  • 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

05-11 15:01