zoukankan      html  css  js  c++  java
  • 实战业务逻辑层

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

    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

  • 相关阅读:
    推荐下自己的开源框架:DataMapFramework
    真的能无师自通吗?JAVA学习指导系列
    再回首,工作的第一个十年
    2个DataSet中的数据传递问题,请高手们多多指教。
    数据结构小结
    CDQZ_Training 2012524 词编码
    PowerDesigner显示Comment注释
    DDD基本元素
    使用FluorineFx.NET更新FMS中的SharedObject
    如何取消页面缓存
  • 原文地址:https://www.cnblogs.com/angben/p/3071354.html
Copyright © 2011-2022 走看看