我正在对移动平台进行一项小型研究,我想知道Android中使用了哪些设计模式?
例如在iOS中,模型 - 视图 - 控制器与委托和其他模式一起被广泛使用.
哪些模式以及Android使用的具体位置?
编辑
我不是要求内核,dalvik等深入使用的设计模式,而是要求应用程序开发人员在开发应用程序时遇到的模式.
如果我们使用短语"MVC,MVP和MVVM设计模式之间有什么区别"来搜索Google,那么我们可能会得到一些URL ,它们在理论上讨论了MVC MVP和MVVM设计模式之间的区别:
MVP
在无法通过datacontext进行绑定的情况下使用.Windows Forms就是一个很好的例子.为了将视图与模型分开,需要演示者.由于视图无法直接绑定到演示者,因此必须通过接口(IView)将信息传递给视图.
MVVM
在可以通过datacontext进行绑定的情况下使用.为什么?删除了每个视图的各种IView接口,这意味着需要维护的代码更少.可以使用MVVM的一些示例包括使用Knockout的WPF和javascript项目.
MVC
用于视图与程序其余部分之间的连接并不总是可用的情况(并且您无法有效地使用MVVM或MVP).这清楚地描述了Web API与发送到客户端浏览器的数据分离的情况.Microsoft的ASP.NET MVC是一个管理这种情况的好工具,并提供了一个非常清晰的MVC框架
但我没有找到一篇文章,从理论上和示例代码讨论差异.
如果我得到一篇文章讨论这3种设计模式(MVC,MVP和MVVM)与代码之间的区别,那将是非常好的.
我想了解3个类似的CRUD应用程序的源代码,这些应用程序已经通过这三种设计模式(MVC,MVP和MVVM)实现.这样我就可以浏览代码并理解应该如何为这三种设计模式(MVC,MVP和MVVM)编写代码.
因此,如果存在任何此类文章讨论代码对于这3种设计模式(MVC,MVP和MVVM)的外观有何不同,那么请将我重定向到该文章.
当我们在互联网上阅读有关设计模式时,我们注意到有3个类别:
但是当我们创建软件架构时,我们会考虑MVP,MVC或MVVM.
例如,在创作模式中我找到了单身模式,但我也在我的MPV中使用了单身.
所以我的问题是:设计模式是否超过了产品的所有结构?
如果是,那么单身如何成为一种设计模式?因为我可以在应用程序的任何地方使用它.基本上,它仅限于在内存中一次创建一个实例,但这个概念不能定义软件的设计方式吗?
如果没有,那么MVP,MVC和MVVM在哪三种模式中呢?软件的设计和架构有什么区别?
我发现什么是mvp和mvc,有什么区别,但它并没有真正回答这个问题.
我最近开始使用MVC,因为它是我和我的工作伙伴将要使用的框架的一部分.我们之所以选择它是因为它看起来很容易并且从显示中分离出来的过程,除此之外还有我们不知道的优点,可能会错过吗?
优点
缺点
我已经阅读了一些关于MVC的内容,但我仍然不明白何时应该使用它们以及什么时候不应该使用它们.我正在寻找明确的例子,说" 如果你正在开发这个,那么你应该使用MVC,就像这样 "和" 如果你正在开发它,你不应该使用MVC. "大多数例子我都是看到依赖于已经实现了所有内容的复杂框架,你必须学习框架并使用它来了解真正发生的事情.对于许多程序员来说,诸如" UI业务逻辑 "之类的措辞听起来像营销术语 - 例如,在这篇文章中使用了" 而不是视图直接绑定到演示模型 " .
我知道可能潜伏在阴影中的危险,因为MVC是一个概念,每个人都觉得他们最了解它,但没有人真正知道如何使用它,因为可能涉及很多变量,每个人都被允许拥有关于如何将项目分解为模型,视图和控制器的不同视角.有很多理论,但很少有明显的例子.我正在寻找的不是"最好"的方式,所以这不应该被认为是主观的; 我正在寻找不同的简单实现,这将允许我自己决定哪种是最好的方法.
简洁地说:什么是良好的在线资源,提供在各种情况下使用MVC的赞成和反对论据,并提供明确的例子来帮助读者理解这个概念?
我最近在一个.Net WPF项目上建立了一个零售销售点系统,我第一次使用了MVP模式.我花了一点时间围绕着改变方法,但是一旦我这样做,我就认为这个概念震撼了!
我的问题是:MVC,MVP和MVVM之间有什么区别?如果有明确的区别,是否有关于何时应该使用一种模式而不是另一种模式的准则?
如果有人可以就此提供指导,或者指出解释差异的文章,我将非常感激.
我有一个包含两个片段的活动.
activity(MainActivity)从开放的天气api中检索数据.我已经实现MVP此,其中:
Model包含所有响应对象从API
View是Activity
Presenter包含MainPresenter,MainPresenterImpl,MainView,GetDataInteractor和GetDataInteractorImpl.
因此,活动从Web服务获取数据.两个片段都将显示活动中检索到的数据中的数据.
在这种情况下使用MVP的最佳做法是什么?我知道如何通过接口/回调在片段< - >活动之间传递数据,我的问题是在实现MVP时这种行为会改变吗?
有人可以提供MVP的具体(实际Java代码)示例吗?
这将包括以下3种类型以及它们如何调用彼此的方法来实现模式和处理/响应客户端响应:
与 MVC 和 MVVM 等“旧”架构相比,“较新”的 Model-View-Intent 架构之间有什么区别吗?
MVI 解决什么问题?与 MVC/MVVM 有什么相似之处?有什么区别?
在 MVC/MVV/MVP 的 stackoverflow 上已经有类似的问题,但到目前为止还没有解释 MVI。
我想在Qt中有一个包含QActions或QToolbarButtons的工具栏,它们附有弹出菜单.通过创建QMenu,将其添加到QToolbarButton然后将其添加到QToolbar,我已经能够在代码中完美地完成此操作.我的问题是,这应该可以在设计师中完全完成.
这是我通过代码完成的工作,我想在qt designer中定义按钮和菜单:

我们想要用qt设计器做的是将代码与接口分开.例如,这意味着一个人可以设计表单的外观和组件,然后程序员可以采用它并编写其背后的功能.如果工具栏和菜单必须由程序员设计,我们无法非常有效地完成此任务.
对于许多应用程序来说,这似乎是一个相当常见的要求,我无法看到Qt如何强制在代码而不是设计器中完成此操作.
如果有人对如何做到有任何想法,也许我在Qt中遗漏了一些东西?