实战-业务逻辑层

业务逻辑层是应用程序的大脑

  1. 负责处理系统的核心业务,
  2. 负责对用户定义的流程进行建模,
  3. 负责数据访问层和展示层的通讯,
  4. 不能因为数据库的变换而变化,也不能因为终端的变换而变化。

下面是业务逻辑层的具体实现

  1. BLL——业务逻辑

业务逻辑的操作,包括业务处理,调用数据访问,事务等。

  1. IBLL——业务接口

业务逻辑层的方法对外暴露的接口和服务契约

  1. WFActivitys——工作流活动层

定义了工作流中使用的活动

业务的最小逻辑单元

因为服务层和展示层都会调用业务逻辑层,所以在此层做事务、异常和并发的处理比较合理。

  • 事务的使用

首先,引用"using System.Transactions;"命名空间,调用TransactionScope类

  • 异常的处理

  • 并发的处理

更新的时候会面临一个难点,假设某条记录同时被两个人A和B读取并且正在修改。A先修改完成然后保存了,然后B再保存的时候,会由于时间戳不一致(因为A之前先保存修改了时间戳)导致B保存失败。给一个表加一个时间戳字段Timestamp,可以有效的解决数据库并发问题。

我们约定

  1. 将系统需要的基础类放在"Framework"文件夹中
  2. 将业务相关的类,都放在自己创建的文件夹中,类采用分部类的方式,这样可以有效的防止代码重新生成覆盖的危险,如:"DiaoYan"

  3. 在此层做事务、异常和并发的处理
  4. 对外暴露的方法,必须继承自IBLL项目的接口

以上我们完成了业务逻辑层的设计,此架构的代码实现,请参考www.langben.com

posted @ 2013-05-10 15:54  狼奔代码生成器  阅读(958)  评论(0编辑  收藏  举报