• 三层架构的学习感悟(一)


    三层与养猪,加入自己的理解

    从此文中看出:DAL层不要放逻辑,逻辑是放在BLL层的,动软的简单三层里,BLL其实不是一层,因为他没逻辑,只是一个接口。BLL要尽量集中所有的逻辑,DAL要尽量集中所有的数据访问,这两个最难分开,DAL至多至少都会带一点点逻辑

    浅谈三层架构 通过这个,+Java开发模式经验。终于相通了,动软到底是为什么这么做

    一般的项目,涉及最多的就是对数据库的CRUD,DAL层只负责与数据库的交互,BLL层是最重要的一层,他负责将DAL层的的结果呈现给UI层,但是恰恰BLL层的存在似乎有点鸡肋,他起到的仅仅是转发DAL层数据的作用,而具体的逻辑操作是与数据库的交互,应该写在DAL层,这就好像BLL层是在重复DAL层的劳动一样,其实BLL层的作用在于除了调用DAL层访问数据库,还可以进行逻辑判断,当符合的时候,才进行允许进行DAL的操作,或者进行额外的操作(如加密,转换等)。而DAL层可不管这些,他只管进行CRUD的动作。UI层就是操作抽象出来的实体对象,它包含了各种属性。

    在这里我说一下。简单三层的架构:WEB,BLL ,DAL做主框架。而MOdel 因为面向对象+每层都用。所以独立出来。和DAL并列。

    解密,缓存,数据校验,因为是通用,也单独分离。放在Common类中。而,数据库访问类,因为数据库的多种多样,所以有一个 通用的数据库操作类。叫做DBUtility 独立出来,专门做 数据库访问的,(例如,反射后自动区分是访问EXCEL还是SQL),与Common并列。

    DBUtility是对ADO.NET的封装,封装了一些常用的重复的数据库操作。 如微软的SQLHelper。cs  或动软的DBUtility/DbHelperSQL等,为DAL提供访问数据库的辅助工具类。

    http://blog.csdn.net/mark4ever/article/details/6302353

    1.数据库访问层(DAL)仅提供对数据库的CRUD操作,而不管操作后的结果,也不管逻辑过程(譬如同名用户,不合法用户名)。

    2.业务逻辑层(BLL)不会直接与数据库交互,他与数据库的交互是通过DAL提供的方法。在调用这些方法前,要加入自己的逻辑判断或者业务处理。另外业务逻辑层(BLL)还有可能不会去调用DAL层的方法,而是进行其他业务处理。

     

    3.用户界面层(UI)层是不会调用DAL层的,他只调用BLL层提供的方法,再由BLL层自己决定是否继续调用DAL层。

    这个例子可以看出三层架构的优点就是结构清晰,容易扩展与维护。缺点就是,复杂。仅仅一个注册用户,就这么麻烦,所以对于小项目来说,费这么大劲换取一个相对较清晰的分层结构是不划算的。

    三层,师姐把我点透了

    其实MVC只有两层。MODEL从来就不是层

    而三层。是把 数据库操纵的层(C) 改变。为 两层。BLL和DAL。所以成了3层。所以MVC不是三层。而三层之外也早已经独立了Model

    所谓的本质   两层MVC  变  三层  其实是C变BLL+DAL   。

    而核心 其实是DAL  。

    在动软的三层中。  IDAL。 SQLServerDAL 。DALFactory.

    IDAL.是一个接口。意义:用来封装。  意义不是很大。

    DALFactory.是核心技术:Factory的名字不是白叫的。它就个工厂。  是利用抽象工厂模式,实现的,多个数据库的根据命名空间选择。SQLServerDAL 或者OracleServerDAL。

    利用抽象工厂,就肯定利用反射技术。  利用此技术,使我们针对不同数据库的T-SQL语句的不同写法的 头疼,得到解决。不需要再去理解它是 怎么写的了。

     

     

     

  • 相关阅读:
    rpc和http的区别
    Mysql和Oracle的区别
    RabbitMQ基本概念
    如何关闭139端口及445端口等危险端口
    Vert.x入门教程之Hello World
    wordpress常用插件汇总
    wordpress上一款不错的音乐播放器-Hermit
    网易云音乐 – 插入歌单及 HTML5 播放器 WORDPRESS 插件
    WordPress如何在文章或侧边栏通过网易云音乐添加音乐播放器
    HEXO+Github,搭建属于自己的博客
  • 原文地址:https://www.cnblogs.com/abcbuzhiming/p/2415618.html
Copyright © 2020-2023  润新知