Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中实现MVC的好处_Android - Fatal编程技术网

在Android中实现MVC的好处

在Android中实现MVC的好处,android,Android,我想在我的Android应用程序中实现MVC,原因我已经听说但还没有意识到。有谁能带领我在我的应用程序中实现MVC?请说明使用相同产品的好处 感谢它已经按照这里的帖子实现了:首先,它允许你用一行代码将不同的算法或数据存储/源插入到你的应用程序中。因此,在我的示例Android应用程序中,我可以在一行代码中从DES切换到AES,再切换到TDES加密。它允许您将算法移植到另一个具有完全不同的用户界面和体系结构的应用程序。因此,在.NET中,我可以编写一个Windows窗体应用程序,然后将其移植到We

我想在我的Android应用程序中实现MVC,原因我已经听说但还没有意识到。有谁能带领我在我的应用程序中实现MVC?请说明使用相同产品的好处


感谢

它已经按照这里的帖子实现了:

首先,它允许你用一行代码将不同的算法或数据存储/源插入到你的应用程序中。因此,在我的示例Android应用程序中,我可以在一行代码中从DES切换到AES,再切换到TDES加密。它允许您将算法移植到另一个具有完全不同的用户界面和体系结构的应用程序。因此,在.NET中,我可以编写一个Windows窗体应用程序,然后将其移植到Web窗体应用程序,而无需重新编写核心算法代码。如果你想在Android上找一个例子,我有一个完整的例子,如果你能读C代码,我有一个例子

玩得开心。 JAL

MVC(及其变体)的主要好处是分离关注点,这不仅是Android的好处。这意味着您将业务逻辑隔离在模型中,而不是与表示逻辑混合。反过来,模型更容易进行单元测试、修改和重用(至少当重用是一个问题时)

我不确定测试MVC的视图或控制器部分是否有意义。一方面,观点被认为是尽可能的“愚蠢”,甚至缺乏表达逻辑

MVC显然——这似乎是创建MVP的原因,所以所有这些逻辑都归演讲者。因此,通过使用MVP而不是MVC,您还可以获得易于测试的表示逻辑的好处

MVC还允许(至少在理论上)更改应用程序采用的用户界面,尽管我不确定这如何适用于Android(可能适用于游戏?)


不用说,Android应用程序并不是通过设计实现MVC的。否则,Android应用程序在设计上就可以享受到这些好处,但事实并非如此。

Java拥有非常强大的功能。MVC这个词的基本意思是组件化。组件在像Java这样的OOP语言中是一个非常重要的定义,对于像Java这样使用GC(垃圾收集器)实现内存分配和处理的语言来说更为重要

有很多GC算法和类型在那里实现,每个JVM都有自己的集合数,Oracle有自己的集合数,IBM,Apache的OpenJDK等等。但这个概念几乎每次都是一样的:引用计数。让我们想象一个例子,其中有一个对象A,它定义了类型B的属性,这个类B还有另一个名为C的类的属性,它们都在相同的处理范围内(例如,一个方法)。分析这个例子,运行时(JVM)只能在“C”超出范围(超出范围)后释放“B”,并且由于“B”被同一范围使用,所以“A”也不能被释放。从这个角度来看,范围修饰符、方法、类、静态方法和类、最终声明,一切都需要仔细选择

综上所述,这意味着您不仅可以使用MVC等模式获得组织更完善的代码,还可以在JVM运行时获得更高的性能,因为根据您程序的大小,您的GC池实际上可能是一个底层的、细粒度的java代码,方法只需几行代码,就可以被几个类划分,他总是表现得更好。大型类只有几个方法,其中包含大量代码行,往往性能较差


。。。这就是事物的美。MVC不仅提供了组织更完善的代码,而且还提供了更高的性能。希望有帮助

不,不是。如果您想要MVC(或它的任何变体,如MVP),您必须自己实现它。此链接与您要查找的内容完全匹配: