日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

java mvc mvp_MVC和MVP设计模式

發布時間:2025/3/15 c/c++ 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java mvc mvp_MVC和MVP设计模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考博客

http://www.cnblogs.com/end/archive/2011/06/02/2068512.html

####MVC模式

M:model 模型

V:view視圖

C:controller控制器

>我們知道,所有的軟件的構成主要有兩部分,分別是用戶交互入口(USER INTERFACE)和數據(DATA)。那么為什么UI(USER INTERFACE)稱為用戶交互入口呢?因為我們的用戶,在使用我們的軟件的時候,他們關心的并不是使用了什么技術實現的,考慮更多的是這個功能好不好用,這個交互舒服不舒服。那么用戶在通過視覺和通過操作使用我們軟件的時候,接觸用戶的就是我們的界面,承載交互的就是我們界面上的控件。所以,UI稱之為用戶交互入口,因為有了視覺體驗有了感知,才會有行為,有了行為才能稱之為交互。用戶的行為,也就是交互,我們就是C(CONTROLLER)在處理,那么呈現在UI(USER INTERFACE)上面的內容,就是我們的數據,所以我們的M(MODEL)就是MVC中的數據模型。

在我們的android開發過程中,本質上并沒有完全遵循MVC架構模式。以Activity為例:

它可以是V也可以使C。因為Activity能兼容了View和Controller的基本特征。那么,在Android中,MVC在哪些場景下體現的比較準確呢?以列表級控件的使用為例(ListView,GridView):我們需要聲明ListView這個外層容器,然后定義Item的UI樣式,然后通過適配器將UI和數據進行匹配,最后將適配器和控件進行綁定。那么這個就是我們MVC軟件架構模型的一個很清晰的體現,在列表級控件中,我們使用了Adapter,在設計模式中,稱之為適配器模式。所以在這個小例子中,就要體會一下軟件架構模型和設計模式的區別。

![](http://images2015.cnblogs.com/blog/1061881/201705/1061881-20170502204735961-1299977060.png)

####MVP模式

M:model 模型

V:view 視圖

P:presenter 中間人

>MVP作為MVC的演化進階模型。它的靈活性以及優勢主要體現在復雜的業務場景下。首先MVP中的M(MODEL)可以承載交互扮演MVC中C(CONTROLLER)的角色,也可以扮演MVC中M(MODEL)的角色,可以進行數據建模也可以進行視圖建模。MVP中V(VIEW)屬于單純意義上的視圖層。P(PRESENTER)則作為中間人亦或者橋梁,將M和V進行關聯。同時MVP中的P(PRESENTER)也可以作為業務實現層體現在項目中。

![](http://images2015.cnblogs.com/blog/1061881/201705/1061881-20170502205017898-423547242.png)

>所以,綜上,MVP相比較MVC我們發現,它的靈活性更高了,并且,拆解效率非常明顯。總結一句話就是,MVP在復雜業務背景下,解耦和擴展效果突出。

MVP 的缺點:model 層與 Presenter 層,presenter層與 view 層之間通過接口建立聯系,這樣會導致當頁面邏輯很復雜的時候,View 層實現的接口會很多,如果你的App中有很多復雜的頁面,維護接口的成本會變的很大。

#### MVVM 模式

MVVM 模式將 Presenter 改名為 ViewModel,基本與MVP模式一致

區別在于 View 層與 ViewModel 層通過 DataBinding相互綁定。View層的變動,自動反應在 ViewModel 層,反之亦然

### Dagger2在MVP中所發揮的作用

Dagger2是為Android和Java平臺提供的編譯時進行依賴注入的框架,編譯時生成代碼,完成所需對象的注入,解決了基于反射帶來的開發和性能上的問題。主要是用于界面和業務之間的隔離

使用步驟:

>0.添加依賴

>0.借助工具生成編譯注解器(在gradle中進行配置),在編譯時起作用

>1.指定要注入的目標(@inject)

>2.創建dagger文件,創建module類(@module,@presenter)

>3.通過接口建立Activity和Module之間的關系(@component)

>4.rebuild 編譯生成代碼

>5.使用那個類

![](http://images2015.cnblogs.com/blog/1061881/201704/1061881-20170425231236537-2061171856.png)

![](http://images2015.cnblogs.com/blog/1061881/201705/1061881-20170502205419961-1042417469.png)

>“可參考的博客:http://blog.csdn.net/tiankong1206/article/details/46486401”

### Retrofit

利用注解和okHttp實現和服務器的數據交互

用法

0.添加依賴并進行配置

1.創建model數據模型

2.定義REST API接口

3.創建Retrofit對象并發起請求

### RxJava

本質是一個在java VM 上使用可觀測序列的基于事件程序的異步操作庫,使用簡潔的邏輯處理復雜的任務的一個異步操作庫。

可以輕松處理不同環境下的后臺線程和UI線程庫

關鍵字:簡潔,異步,隊列化

![](http://images2015.cnblogs.com/blog/1061881/201705/1061881-20170502221056179-1270622283.png)

總結

以上是生活随笔為你收集整理的java mvc mvp_MVC和MVP设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久调教| 久久亚洲AV成人无码国产人妖 | 日本三级视频 | 亚洲综合专区 | 中文字幕视频一区 | 欧美另类色图 | 99久久精品无免国产免费 | 成人羞羞在线观看网站 | 欧美精品video| 秋霞7777鲁丝伊人久久影院 | 色婷婷欧美| 欧美日韩一区二区三区国产精品成人 | 午夜精品视频在线观看 | 日本东京热一区二区三区 | 中国老熟女重囗味hdxx | 日日夜夜天天干 | 在线观看的av网址 | 一区二区三区免费播放 | 男性影院 | 久久精品一区二区免费播放 | 日b免费视频 | 激情小视频在线观看 | 欧美日韩久久精品 | 国产主播在线看 | 无码精品一区二区三区在线播放 | 三日本三级少妇三级99 | 中文字幕视频在线 | 波多野吉衣在线视频 | 免费毛片在线 | 金8天国av| 国产麻豆剧果冻传媒白晶晶 | 学生调教贱奴丨vk | 500部大龄熟乱视频 亚洲乱码精品 | 51国产视频| 久久久久久久 | 五月婷婷天 | 色综合99久久久无码国产精品 | 超碰色偷偷 | 麻豆av在线免费观看 | 色中色av | 亚洲精品久久夜色撩人男男小说 | 亚洲中文字幕无码爆乳av | 女人叉开腿让男人桶 | 日韩精品成人在线 | 免费成人毛片 | 久久综合久 | 男女黄床上色视频免费的软件 | 国产视频精品久久 | 在线伊人| 毛片网站在线看 | 色老二导航 | 六月婷婷中文字幕 | 伊人激情综合 | 久草福利资源在线 | 国产第一毛片 | 欧美深夜福利 | 在线观看av中文字幕 | 大尺度摸揉捏胸床戏视频 | 久久男人天堂 | 中文字幕日韩欧美一区二区三区 | 国产又粗又猛又黄 | 在线免费看av的网站 | 亚洲中文字幕久久无码 | 无码人妻丰满熟妇区bbbbxxxx | 麻豆网站免费观看 | 日韩一区久久 | 日韩欧美一区二区三区四区 | 亚洲欧美日韩一区在线观看 | 国产一区二区三区影视 | 免费污片软件 | 久久网站免费 | 久久1234 | 澳门久久 | 免费看的黄网站 | 香蕉婷婷 | 黑人干亚洲女 | 亚洲骚图| 中文在线字幕免费观看电 | 国产成人精品综合久久久久99 | 中国女人内谢69xxxxⅹ视频 | 美女视频黄是免费 | 色av一区| 美女隐私无遮挡网站 | 人人插人人看 | 白石茉莉奈黑人 | 国产精品av久久久久久无 | 老外一级黄色片 | av官网在线观看 | 人妻妺妺窝人体色www聚色窝 | 国产一区二区播放 | 久久久久久国 | 午夜在线免费观看 | 精品一区二区三区视频日产 | 亚洲av无码一区二区三区在线播放 | 成年人激情网 | 亚洲av人人澡人人爽人人夜夜 | 国内免费精品视频 | 99re国产在线 | 恶虐女帝安卓汉化版最新版本 |