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的隔离思想的一种布局。对于绝大部分项目。都是简单有效快速。
    因为隔离思想本身就是简洁,但有效。至于单元测试,更清晰的逻辑。那么就不是隔离思想能做到的。

  • 相关阅读:
    Pascal's Triangle II
    Pascal's Triangle
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Populating Next Right Pointers in Each Node
    path sum II
    Path Sum
    [转载]小波时频图
    [转载]小波时频图
    [转载]Hilbert变换及谱分析
  • 原文地址:https://www.cnblogs.com/lsfv/p/11590689.html
Copyright © 2011-2022 走看看