导航:首页 > 操作系统 > android的mvc设计模式

android的mvc设计模式

发布时间:2022-07-28 17:12:30

android常用设计模式或者框架有哪些我说的是最常用的,像j2ee中的SSH框架。

android内暂时没有什么框架。
自己按照mvc分层的原则做好就好,有些开源的像facebook也有很多的开源库。你可以考虑一下使用。

② Android 开发中常用到的设计模式有哪些

设计模式总共是23种,常用的有下面几种 :
1 单例模式,application 就是单例 可以存储一些数据例如记录activity的启动数量 ;
2 观察者模式: button的onClickListener ,监听button的响应;
3 适配器模式 :例如recyclerView 的adapter ;
4 命令模式: 例如开源库eventBus ,把数据封装好 发送出去,然后接收; 等等等等,很多

③ android 需要看什么设计模式

1 Android设计模式系列-组合模式
2 Android设计模式—策略模式
3 Android设计模式系列-单例模式
4 Android设计模式系列--工厂方法模式
5 Android设计模式系列-适配器模式
6 Android设计模式系列--原型模式
7 Android设计模式系列--观察者模式
8 Android设计模式系列--模板方法模式

④ MVC设计模式是什么怎么理解

什么是MVP
View :是指显示数据并且和用户交互的层。在安卓中,它们可以是一个Activity,一个Fragment,一个android.view.View或者是一个Dialog。
Model :是数据源层。比如数据库接口或者远程服务器的api。
Presenter:是从Model中获取数据并提供给View的层,Presenter还负责处理后台任务。
MVP是一个将后台任务和activities/views/fragment分离的方法,让它们独立于绝大多数跟生命周期相关的事件。这样应用就会变得更简单,整个应用的稳定性提高10倍以上,代码也变得更短,可维护性增强,程序员也不会过劳死了~~。
为什么要在安卓上使用MVP原因一: 尽量简单
如果你还没有阅读过这篇文章,阅读它: Kiss原则(https://people.apache.org/%7Efhanik/kiss.html)。- kiss是Keep It Stupid Simple或者Keep It Simple, Stupid的缩写。
.绝大多数的安卓程序都只使用了View-Model架构。
.程序员被绞尽了复杂的界面开发中,而不是解决事务逻辑。
在应用中使用Model-View的坏处是“每个东西之间都是相互关联的”如下图:
如果上面的图解看起来还不够复杂,那么想想这些情况:每个view可能在任意的时间出现或者消失,view数据需要保存与恢复,在临时的view上挂载一个后台任务。
而与“每个东西之间都是相互关联的”的相反选择是使用一个万能对象(god object)。注:god object是指一个对象/例程在系统中做了太多的事情,或者说是有太多不怎么相关的事情放在一个对象/例程里面来完成。
god object过于复杂,他的不同部分无法重用、测试,无法轻易的debug和重构。
使用MVP
复杂的任务被分割成简单的任务。
.更小的对象,更少的bug。
.更好测试
MVP的view层变得如此简单,在请求数据的时候甚至不需要使用回调。view的逻辑变得非常直接。
原因二: 后台任务
当你需要写一个Activity,Fragment或者一个自定义View的时候,你可以将所有和后台任务相关的方法放在一个外部的或者静态的类中。这样你的后台任务就不会再与Activity相关联,不会在泄漏内存同时也不会依赖于Activity的重建。我们称这样的一个类为“Presenter”。注:要理解此话的含义最好先看懂第一个MVP示例的代码。
虽然有一些方法可以解决后台任务的问题,但是没有一种和MVP一样可靠。
为什么这是可行的
下面的图解显示了在configuration改变或者发生out-of-memory事件的情况下应用的不同部分所发生的事情。每一个开发者都应该知道这些数据,但是这些数据并不好发现。
| Case 1 | Case 2 | Case 3
|A configuration| An activity | A process
| change | restart | restart
---------------------------------------- | ------------- | ------------ | ------------
Dialog | reset | reset | reset
Activity, View, Fragment | save/restore | save/restore | save/restore
Fragment with setRetainInstance(true) | no change | save/restore | save/restore
Static variables and threads | no change | no change | reset
情景1:configuration的改变通常发生在旋转屏幕,修改语言设置,链接外部的模拟器等情况下。要知道更多的configuration change事件请阅读:configChanges(developer.android.com/reference/android/R.attr.html#configChanges)。
情景2:Activity的重启发生在当用户在开发者选项中选中了“Don't keep activities”(“中文下为 不保留活动”)的复选框,然后另一个Activity在最顶上的时候。
情景3:进程的重启发生在应用运行在后台,但是这个时候内存不够的情况下。
结论
现在你可以发现,一个拥有setRetainInstance(true)的Fragment并没有带来帮助 - 我们还是要保存和/恢复这种fragment的状态。因此我们可以去掉可保持Fragment的情景,把问题简单化。Occam's razor(https://en.wikipedia.org/wiki/Occam%27s_razor)

⑤ Spring MVC架构在Android中怎样才能被使用

Android中的mvc和spring区别不大,思想是完全一样的,例如listview的adapter,就是一个标准的mvc设计模式,adapter是c层,m是数据,listview是v层。

⑥ Android开发有MVC的框架吗Android 开发该怎么分包

现在都使用mvp进行android开发。
详细例子请参考android学习手册,360手机助手中可以下载,里面有108个android例子,源码文档都可在里面看,里面有详细介绍这个的框架。
MVP模式是什么?MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。
MVC和MVP的区别?
为什么会出现MVP模式呢?这是因为原有的MVC模式有一些短板。比如在android开发中,activity充当着MVC中Controller的角色,但是在实际开发中处理view的逻辑和角色。当业务界面复杂时我的activity会显得很庞大。于是出现了MVP模式,它新增了一个Presenter角色用于处理数据和界面的模型以及逻辑,Activity仅仅用于展示界面和用户交互,这样就解决了MVC中角色不清的局面。
所以,MVP与MVC的重大区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。
在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些业务逻辑。 在MVC模型里,更关注的Model的不变,而同时有多个对Model的不同显示,即View。所以,在MVC模型里,Model不依赖于View,但是View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。
MVC模式结构
Model 业务逻辑和实体模型
Controller 对应Activity
View 视图以及布局文件

MVP模式结构
Model: 业务逻辑和实体模型
View:用户交互和视图显示,在android中对应activity
Presenter: 负责完成View于Model间的逻辑和交互
小节:MVP模式相当于在MVC模式中又加了一个Presenter用于处理模型和逻辑,将View和Model完全独立开,在android开发中的体现就是activity仅用于显示界面和交互,activity不参与模型结构和逻辑,
####实战
谷歌官网给了我们一个MVP模式实战的例子,它是一个类似记事本的app,源码地址在:https://github.com/googlesamples/android-architecture
官方案例的框架图如下:

⑦ 什么是MVC设计模式,为什么使用MVC

MVC(Model-View-Controller)把系统的组成分解为M(模型)、 V(视图)、C(控制器)三种部件。视图表示数据在屏幕上的显示。控制器提供处理过程控制,它在模型和视图之间起连接作用。控制器本身不输出任何信息和做任何处理,它只负责把用户的请求转成针对Model的操作,和调用相应的视图来显示Model处理后的数据。
用户界面逻辑的更改往往比业务逻辑频繁,尤其是在基于Web的应用程序中。例如,可能添加新的用户界面页,或者可能完全打乱现有的页面布局。对显示的更改,尽可能地不要影响到数据和业务逻辑。

目前大部分Web应用都是将数据代码和表示混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。尽管构造MVC应用需要一些额外的工作,但它带来的好处是无庸质疑的

⑧ MVC设计模式是什么怎么理解

MVC就是
M:Model 模型
V:View 视图
C:Controller 控制器
模型就是封装业务逻辑和数据的一个一个的模块,控制器就是调用这些模块的(java中通常是用Servlet来实现,框架的话很多是用Struts2来实现这一层),视图就主要是你看到的,比如JSP等.
当用户发出请求的时候,控制器根据请求来选择要处理的业务逻辑和要选择的数据,再返回去把结果输出到视图层,这里可能是进行重定向或转发等.MVC我感觉主要就是把一个软件或网站清晰地分成几部分,每一部分都实现自己的功能,当某一部分需要修改时就可以只修改这一部分,不会去修改整体,当后期维护的时候MVC的作用也是很大的,耦合度太高就会导致牵一发而动全身,开销也就会非常大了,现在的很多软件都是要很多人完成的,不过不把软件清晰的分层,不把软件模块化,大家就很难做好自己的那一块,好多人都可能做了同一部分,而且没办法整合到一起,所以MVC我感觉是一种软件架构思想,我也是新手,可能理解的不是很深,我就把我体会到的说了一下哈,希望大牛们批评更正哈!!!

⑨ android可以使用MVC设计模式吗是不是和java的MVC设计模式一样的

可以 其实设计模式都是配置这里 配置那里 只要你会一种 另外一种配置相信也不成问题

阅读全文

与android的mvc设计模式相关的资料

热点内容
phpsae源码 浏览:853
为什么安卓手机一直要权限 浏览:227
汇编程序的伪指令 浏览:803
苹果7怎么更新app 浏览:318
c语言常用算法pdf 浏览:960
编程如何让画面动起来 浏览:865
大龄女程序员未来发展 浏览:976
数学书籍pdf 浏览:506
加密门禁卡写入成功无法开门 浏览:464
齿轮传动pdf 浏览:52
alpinelinux 浏览:150
手机端app的扫码功能在哪里 浏览:227
少儿编程中小班英语教案 浏览:452
锁屏密码加密手机怎么解除 浏览:205
linuxlostfound 浏览:135
征途服务器ip地址 浏览:330
git提交代码命令行 浏览:165
什么叫浏览器服务器结构 浏览:157
于谦聊天哪个app 浏览:449
小鹏汽车nlp算法工程师薪资 浏览:881