后台管理框架之七 :业务逻辑设计
2014-10-08 16:38
267 查看
前面几章已经介绍了后台及前台的设计思路,目前剩下的就是中间的桥接层(也就是业务逻辑层)设计了。
业务逻辑层,顾名思议,就是实现实际业务需求的逻辑数据处理层,它和MVC框架的Controller一起,承担着承前启后的桥接作用。其实也可以说,它是MVC框架中Controller的业务逻辑处理部分,为了代码清晰度及松散度,将这部分内容独立出来,成为一个单独的处理层。
既然这层的作用是承前启后,所以它的设计思路是依照前、后台需要进行设计的,重点参照Repository层的设计。它的设计模型图如下:
对于业务逻辑层的设计,核心的就是ICRUDHandler<ViewT>
和HanderBase<ViewT,EntityT>。这俩定义了接口和抽象类,相对来说较为简单,不过基本上能完成数据的增、删、改、加载的操作。ICRUDHandler<ViewT>定义基本的操作,HanderBase<ViewT,EntityT>抽象类完成了大部分的实现。这个抽象类定义了视图模型和数据模型,分别从前台接受视图模型数据,进行转换后生成数据模型数据,然后调后Repository层进行数据持久化。HanderBase存在唯一带参构造,参数为ICRUDRepository<entityT>,这个参数就是Repository层对象。
从图中也可以看出,数据的查询操作未在这里定义,主要是考虑到查询条件多种多样,较难定义一个完全抽象的查询接口;再一个业务逻辑层是视图模型和数据模型的分离点,如果在这里做抽象可能会将视图模型和数据模型结合到一起,与最初设计初衷不符;再如果做适配,个人觉得增加代码量,短时间内也没动那份心思。
还有一点补充的就是,整个项目中除实体模型对象外基本都采用AutoFac进行注入创建,基本上都是在构造函数中进行注入,做好相应配置后对象创建的代码量极少,代码结构也极为清晰,绝对推荐使用。以下是大致的序列图:
到此为止,初步完成前后台交互、以及持久化的设计,下一步再介绍细节部分的设计。
业务逻辑层,顾名思议,就是实现实际业务需求的逻辑数据处理层,它和MVC框架的Controller一起,承担着承前启后的桥接作用。其实也可以说,它是MVC框架中Controller的业务逻辑处理部分,为了代码清晰度及松散度,将这部分内容独立出来,成为一个单独的处理层。
既然这层的作用是承前启后,所以它的设计思路是依照前、后台需要进行设计的,重点参照Repository层的设计。它的设计模型图如下:
对于业务逻辑层的设计,核心的就是ICRUDHandler<ViewT>
和HanderBase<ViewT,EntityT>。这俩定义了接口和抽象类,相对来说较为简单,不过基本上能完成数据的增、删、改、加载的操作。ICRUDHandler<ViewT>定义基本的操作,HanderBase<ViewT,EntityT>抽象类完成了大部分的实现。这个抽象类定义了视图模型和数据模型,分别从前台接受视图模型数据,进行转换后生成数据模型数据,然后调后Repository层进行数据持久化。HanderBase存在唯一带参构造,参数为ICRUDRepository<entityT>,这个参数就是Repository层对象。
从图中也可以看出,数据的查询操作未在这里定义,主要是考虑到查询条件多种多样,较难定义一个完全抽象的查询接口;再一个业务逻辑层是视图模型和数据模型的分离点,如果在这里做抽象可能会将视图模型和数据模型结合到一起,与最初设计初衷不符;再如果做适配,个人觉得增加代码量,短时间内也没动那份心思。
还有一点补充的就是,整个项目中除实体模型对象外基本都采用AutoFac进行注入创建,基本上都是在构造函数中进行注入,做好相应配置后对象创建的代码量极少,代码结构也极为清晰,绝对推荐使用。以下是大致的序列图:
到此为止,初步完成前后台交互、以及持久化的设计,下一步再介绍细节部分的设计。
相关文章推荐
- 后台管理框架之五 :数据仓储设计
- Django框架之views(业务逻辑)简单后台首页展示的业务逻辑详细描述
- 后台管理框架之六 :View页面设计
- 仿wordpress管理后台设计的后台管理框架
- Django框架之views(业务逻辑)简单后台注册业务逻辑详细描述
- 精心设计的基于组件的C# Win Forms实践 一个框架数据库驱动多个业务逻辑数据库
- 发现 一个业务管理系统 解决了 orm 和 前端框架 剩下的 是 业务逻辑 了 。 哈
- 基于ssm框架的个人博客(3)--easyui后台管理页面设计
- Django框架之views(业务逻辑)简单后台设置cookie,session信息业务逻辑详细描述
- 自己设计开发的通用后台管理系统开发框架(struts2+hibernate+spring+easyui)
- 后台管理框架之四 :数据模型设计
- 精心设计的基于组件的C# Win Forms实践 一个框架数据库驱动多个业务逻辑数据库
- Django框架之views(业务逻辑)简单后台登录与退出的业务逻辑详细描述
- 基础框架平台——基础管理框架——GUI抽象设计(工作台)
- petshop4.0 详解之五(PetShop之业务逻辑层设计)
- petshop4.0 详解之五(PetShop之业务逻辑层设计)
- petshop4.0 详解之五(PetShop之业务逻辑层设计)
- petshop4.0 详解之五(PetShop之业务逻辑层设计)
- 实现业务系统中的用户权限管理--设计篇
- petshop4.0 详解之五(PetShop之业务逻辑层设计)