框架和模式

2020-04-09  本文已影响0人  Dream_Book

这个就写的挺好的,有理有据!!!!

以下仅做个人学习笔记使用:

框架、设计架构:是代码重用(例:MVC)
设计模式:是设计重用(例:工厂模式)
框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。

MVC:Module(模型层)——View(视图层)——Controller(控制层)

在MVC框架中,View和Module通过Activity链接和分离。但是,Activity并不是一个单纯的Controller,不仅要和用户交互还要初始化界面还要加载数据,随着业务逻辑的增长Activity会愈发的臃肿。所以,就出现了MVP框架模式。
MVP:Module(模型层)——View(视图层)——Presenter(控制层)

具体到Android中,一般可以将App根据程序的结构进行纵向划分,根据MVP可以将App分别为模型层(M),UI层(V)和逻辑层(P)。

UI层一般包括Activity,Fragment,Adapter等直接和UI相关的类,UI层的Activity在启动之后实例化相应的Presenter,App的控制权后移,由UI转移到Presenter,两者之间的通信通过BroadCast、Handler或者接口完成,只传递事件和结果。

举个简单的例子,UI层通知逻辑层(Presenter)用户点击了一个Button,逻辑层(Presenter)自己决定应该用什么行为进行响应,该找哪个模型(Model)去做这件事,最后逻辑层(Presenter)将完成的结果更新到UI层。

MVC和MVP两者的区别:

上一篇下一篇

猜你喜欢

热点阅读