zoukankan      html  css  js  c++  java
  • 三层结构概述

           应用软件模型有两层的也有三层的,典型的两层结构是客户机-服务器(C/S),而三层结构在物理上分为:显示层、业务层、数据层;在逻辑上分为UI、BLL+DAL、DB

      

    首先谈一下为什么使用三层结构,什么情况下需要使用?

     我们知道程序分层的目的是:隔离、解耦和

    优点

    1、开发人员可以只关注整个结构中的其中某一层;
    2、可以很容易的用新的实现来替换原有层次的实现;
    3、可以降低层与层之间的依赖;
    4、有利于标准化;
    5、利于各层逻辑的复用。
    6、结构更加的明确
    7、在后期维护的时候,极大地降低了维护成本和维护时间
    但不是任何软件都需要使用三层,如果软件用不到数据库或者业务逻辑非常简单的话就不必使用三层结构。毕竟三层结构也是有缺点的,增加开发成本不说,有时会导致级联的修改。

    显示层(UI)

    1.UI的作用

        向用户展示特定业务数据

        采集用户的输入信息和操作

    2.UI设计的原则

        用户至上,兼顾简洁

    3.UI中常用的技术

        WindowsForm:FormControl

      ASP.NET:aspxascxmasterhtml

    业务逻辑层(BLL)

     

    1.BLL的作用

       DAL中获取数据,以供UI显示用

       UI中获取用户指定和数据,执行业务逻辑

       UI中获取用户指定和数据,通过DAL写入数据源

    2.BLL的职责机制

       UI->BLL->UI--不用数据层时

       UI->BLL->DAL->BLL->UI

      BLL就是一个中间层,通过BLL来让UI与数据层进行交互

    数据访问层(DAL)

     

    1.DAL的作用

       从数据源加载数据(Select)

       向数据源写入数据(Insert/Update)

       从数据源删除数据(Delete)

    2.DAL中常用的技术

       ADO.NET+SQL语句

       O/R Mapping框架 NHiberate--ObjectRelational Mapping

       访问SQL Server数据库时Linq to SQL


    具体应用-原则

    1.DAL只提供基本的数据访问,不包含任何业务相关的逻辑处理

    2.UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理;

    3.BLL负责处理业务逻辑。通过获取UI传来的操作指定,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要数据给UI

     

    具体应用-Assembly

    DAL/BLL/UI分别在不同的程序集中

    各个层之间的引用关系

      UI->BLL->DAL

           DAL所在程序集不引用BLLUI

           BLL需要引用DAL

           UI直接引用BLL,可能会间接引用DAL



  • 相关阅读:
    zimg
    ffmpeg P016 P010 YUV444P16LE 的打印的像素值
    zimg 使用
    P010LE P016LE YUV420P10LE
    如鹏网学习笔记(八)CSS
    对dui界面 组件 hook的通杀方案
    Python 中str 与 bytes 数据结构转换
    Tensorflow 老版本的安装
    Java string和各种格式互转 string转int int转string
    电脑黑屏
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3002643.html
Copyright © 2011-2022 走看看