zoukankan      html  css  js  c++  java
  • 三层架构与MVC

    1. 什么是三层?
      1. 软件为什么要分层?
        1. 软件本身灵活性更大,使得软件更新、维护很容易进行,而不需要将整个软件重新发布
        2. 方便团队分工,比如开发可分为界面设计人员、业务实现人员、数据库设计人员等等,充分发挥每个人的特长,提高开发效率。
        3. 忽略数据库差异:SQL Access Oracle MySQL等可以方便更换。
      1. 三层
        1. 表示层(UI)
          1. 展示给用户的界面,用户在使用系统时所能看到的。
          2. 用于显示数据和接受数据,为用户提供一个交互式操作界面。
        1. 业务逻辑层(Business Logic Layer)
          1. 与系统所对应的领域(Domain)有关,包括业务规则、逻辑、实现。
          2. 处于数据访问和表示层中间,起到了数据交换中承上启下的作用。
          3. 三层中底层不应该依赖于上层,并面向接口编程。
        1. 数据访问层(Data Access Layer)
          1. 主要功能是访问数据库文件,比如:数据库系统、文本文件、XML文档、二进制文件、word文档、Excel文档等等
      1. 如何进行分层?
        1. 面向接口编程
        1. 应用设计模式

    1. 什么是MVC?
      1. MVC是“Model View Controller”的缩写,即模型、视图、控制器

          1. View可以用Composite Pattern实现;
          2. 只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新,所以,ViewModel之间可以用Observer pattern 来实现。
          3. Controller控制View显示;可以用strategy Pattern来实现。
          4. Model可以用Mediator Pattern来实现
      1. MVC是一种复杂的设计模式,由多种设计模式组合才能实现MVC架构。
        1. Model
          1. 业务规则、流程、逻辑处理,业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
        1. View
          1. 视图(View)代表用户交互界面,一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。
        1. Controller
          1. 从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。
          2. 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
    1. 三层架构、MVC的区别与联系
      1. 区别
        1. MVC是一种设计模式,而三层架构是一个概念,MVC可以是UIBLL两层分开。
        2. MVCModel由业务逻辑和数据访问两层组成。
      1. 联系
        1. 都有表示层(视图层)

  • 相关阅读:
    线程和进程
    Java多线程实现(四种方法)
    Java中的锁
    synchronized和java.util.concurrent.locks.Lock
    Lock的实现类ReentrantLock&Condition类的await/signal/signalAll(生产者消费者场景)
    synchronized&Object类的wait/notify/notifyAll(生产者消费者场景)
    SQL语句优化
    面试
    数据库三大范式
    设计模式之JDK动态代理源码分析
  • 原文地址:https://www.cnblogs.com/lilongsheng1125/p/4978668.html
Copyright © 2011-2022 走看看