• MVC、MVP、MVVM理解 在什么情况下用什么页面架构


    1、不用页面架构
    优点:简单
    缺点:可读性、可维护性、可扩展性很弱

    应用场景:欢迎、关于、帮助、隐私条款、用户协议等待

    2、mvc
    M:model 模型,包括数据请求及操作
    V:xml
    C:Controller activity 数据请求后页面逻辑操作
    优点:将模型进行解耦
    缺点:1、作为controller的activity里面包含了view的代码,角色不清晰,静态
    2、 动态角度,作为包含view的代码的activity的权利很大,伴随时间的推移,activity代码越来越大

    应用场景(使用优点,简单的数据展示页面):设置页面、历史订单

    3、mvp
    M:模型
    V:activity/fragment+xml+View的interface
    P:Presenter
    优点:角色清晰
    缺点:1、新增viewInterface,导致增加一个view的功能需要修改三个地方

    应用场景:复杂多变的页面

    4、MVVM 技术依赖 双向的数据绑定的技术-》 dataBinding
    M:模型
    V:activity/fragment+xml
    VM:viewModel
    优点:1、角色清晰,没有interface 2、不需要findviewbyId
    缺点:阅读性差 xml里包含代码

    应用场景:复杂多变的页面

    5、Compose 数据驱动 去掉了xml compose在android上只能用kotlin编写
    M:模型
    V:activity/fragment + composable
    VM:ViewModel
    优点:布局系统的 Jetpack Compose 实现有两个主要目标:一是实现高性能,二是让开发者能够轻松编写自定义布局。在 Compose 中,通过避免多次测量布局子级可实现高性能。如果需要进行多次测量,Compose 具有一个特殊系统,即固有特性测量
    缺点:学习成本
    应用场景:

    详见
    https://zhuanlan.zhihu.com/p/540295707

  • 相关阅读:
    Docker---cgroups资源限制
    适配不同场景的RestTemplate
    java高级用法之:JNA中的回调
    提升群辉AudioStation音乐体验,实现公网音乐播放
    uniapp 实现微信小程序手机号一键登录
    珂学送分
    创建型-原型模式
    elasticsearch基础3——聚合、补全、集群
    函数相关概念
    springboot疫情防控下基于微信小程序的食堂订餐系统毕业设计源码261620
  • 原文地址:https://blog.csdn.net/onepiece2/article/details/133941578