zoukankan      html  css  js  c++  java
  • mvx 模式设计

    我的理解:
    mvc:
    view:展示和观察model。
    model :数据和数据逻辑,建立观察者模式。
    control:业务逻辑和用户事件

    view和model太紧了,model建立观察者模式。随着复杂度的变化,大家倾向让model稳定,简洁。

    mvp:
    view:展示和观察model。并实现接口,供p使用。
    p:业务逻辑和用户事件,观察model的变化并且告诉view,一般是和view的接口交互。
    model :数据和数据逻辑

    p任务过重,model稳定了,简洁了,但程序员主要的工作居然是对控件的各种属性和事件的操作。

    mvvm.
    p换成vm,程序员不要再用大量时间用在控件的各种属性和事件的操作。各个开发平台,自己设计出databing技术给程序员使用。
    这样,程序员的代码少了很多。居然只需要写逻辑了。当然需要很好的databing和observer组件的支持。否则还是回到mvp把。


    其实这3个模式,一般都做不到标准。
    1.mvc ,没有多少项目真正的做到了model建立观察者模式。只是分层而已。
    2.mvp,又有多少项目就是分层呢。没有做到view包含接口。
    3.mvvm ,这个就没法做歪了。因为如果提供了dbing和observer,你的项目就没办法变形。
    大部分项目,随便哪个模型,做到了标准的话。对于开发和后期维护都不是非常困难。
    那些所谓的模型缺点,根本不是缺点,最大的缺点是,我们的开发根本不属于任何一个模型才是最大缺点。

    三层构架非常好,简单有效。
    但它既不是mvc。model并没有建立观者者。
    也不是mvp,p会操作接口,而不是直接操作view。这样利于单元测试。
    更不是mvvc.
    三层,是没有任何构架的,只吸收了mvp的隔离思想的一种布局。对于绝大部分项目。都是简单有效快速。
    因为隔离思想本身就是简洁,但有效。至于单元测试,更清晰的逻辑。那么就不是隔离思想能做到的。

  • 相关阅读:
    ansible变量
    nginx连接php测试
    redis发布订阅
    堡垒机实例以及数据库操作
    nginx简介,使用
    protobuf
    go NSQ
    go mod
    GIT版本管理工具教程
    linux命令查询网站
  • 原文地址:https://www.cnblogs.com/lsfv/p/11590689.html
Copyright © 2011-2022 走看看