zoukankan      html  css  js  c++  java
  • MVC和普通三层架构的区别

    MVC和普通三层架构的区别

    其中这里的模型(Model)和视图(View )是完全区别于三层架构中的模型(Model)和视图(View)的。

    MVC

    1)MVC中的模型(Model)指的是数据模型,用于封装与应用程序的业务逻辑相关的数据,除此之外还可以封装数据的处理方法(相当于业务逻辑)。这是完全区别于三层架构的模型层(Model)的。

    MVC中模型(Model)的特点:

    ①有对数据直接访问的权利,如:对数据库的访问;

    ②模型(Model)“不依赖”视图(View)和控制器(Controller),即模型(Model)不关心它会被如何显示或者如何被操作;

    ③模型(Model)中数据的变化一般会通过一种刷新机制被“公布”;

    ④为了实现③中的“机制”用于监视此模型的视图必须事先在此模型上注册。从而,视图可以了解在数据模型上发生的改变。

    2)视图(View),这里的视图基本跟三层中的视图一样,都是为了显示数据,没有程序上的逻辑。为了实现视图上数据的刷新,视图(View)需要访问它监视的模型(Model),所以应该事先在被它监视的数据那里进行注册。

    3)控制器(Controller),这个概念是在三层中不存在的概念。它主要起到不同层面的组织作用,用于控制应用程序的流程。主要处理事件并作出相应。“事件”主要包括:用户的行为和数据的改变。

    普通的三层架构(BLL,DAL,Model)

    1)实体(Model),用来创建对象的实体;

    2)业务逻辑层(BLL),用来处理复杂的数据间的关系或者是业务间的关系;

    3)数据库访问层(DAL),用来用来访问数据库的;

    当然还会有,View(视图层),用来展示数据;

    C# 普通三层架构举例:

    引用关系:

    BLL引用DAL和Model

     DAL 需要引用Model

     

    Model是实体,不引用

    调用流程顺序:

    BLL(Model)-->DAL(Model)-->DbHelperSQL来执行语句

    调用顺序:创建一个BLL.Users的对象和一个Model.Users的对象

    对Model.Users的实体赋值

    ……

    赋值完成后,调用BLL.User的add方法

    到达BLL.Users

    需要创建一个DAL的对象 ,添加一条数据为例  使用BLL

    到BLL.Users的add方法传递到DAL.Users的Add方法

     DAL.Users的Add方法组合成sql语句最后调用DbHelperSQl执行这条语句

     最后在DAL里完成了sql语句的拼接和调用DbHelperSQL的执行SQL语句方法完成操作

     这里编写了一个简单的三层结构,数据库使用的是MySQL

    C#简单三层结构设计UI、BLL、DAL

  • 相关阅读:
    jQuery的优点——(一)
    js学习之函数表达式及闭包
    js的面向对象的程序设计之理解继承
    js之引用类型
    js的基本概念详解
    有关js的变量、作用域和内存问题
    js和HTML结合(补充知识:如何防止文件缓存的js代码)
    富豪凯匹配串
    2018 ccpc final
    蒟蒻的个人第一篇博客
  • 原文地址:https://www.cnblogs.com/JiYF/p/6594720.html
Copyright © 2011-2022 走看看