Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.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
Java 在开始Android开发之前,我应该学习哪些设计模式_Java_Android_Design Patterns - Fatal编程技术网

Java 在开始Android开发之前,我应该学习哪些设计模式

Java 在开始Android开发之前,我应该学习哪些设计模式,java,android,design-patterns,Java,Android,Design Patterns,除了了解Java,在开始研究Android SDK之前,我应该学习哪些设计模式 编辑:我问这个问题的原因,因为在看了sdk之后,我认为它大量使用适配器模式,我不确定,我想知道它使用的是什么其他模式,它对我的学习过程有帮助 谢谢。从Java桌面编程到android编程的最大飞跃之一是使用XML设计和控制界面布局。如果您想研究Android系统的编程,我肯定会花时间熟悉XML。我不太熟悉确切的设计实践,但在iOS开发中非常强调模型-视图-控制器系统,如果Android程序也是如此,我也不会感到惊讶

除了了解Java,在开始研究Android SDK之前,我应该学习哪些设计模式

编辑:我问这个问题的原因,因为在看了sdk之后,我认为它大量使用适配器模式,我不确定,我想知道它使用的是什么其他模式,它对我的学习过程有帮助


谢谢。

从Java桌面编程到android编程的最大飞跃之一是使用XML设计和控制界面布局。如果您想研究Android系统的编程,我肯定会花时间熟悉XML。我不太熟悉确切的设计实践,但在iOS开发中非常强调模型-视图-控制器系统,如果Android程序也是如此,我也不会感到惊讶

当然,开发者网站也是寻找任何资源的好地方:

我在周末的一次编码比赛中发现的这篇文章也可能帮助你走上正确的道路

开始使用Android SDK时无需学习任何设计模式(了解观察者/监听器模式可能会帮助您熟悉Android中的事件处理)


显然,了解它们将帮助您理解Api某些部分背后的意图。

意见?开始黑客攻击吧。可以帮助指导您前进。

像Android这样的高级框架本身往往遵循一组设计模式。就好像你在学习工作中的模式一样。OnXXXListener接口的发布者/订阅者模型就是一个很好的例子。如果你遵循框架所阐述的指导原则,它真的会出现在你面前(当然,在我看来)。例如,我创建了一个颜色选择器视图。我希望视图(活动)的消费者能够收到诸如“选择颜色”之类的通知。我只是看了一下SDK类是如何做到这一点的,并遵循他们的指导(使用onColorSelected方法创建了OnColorSelectedListener接口,通过我的颜色选择器视图中的setOnColorSelectedListener公开此功能,等等)


从.Net背景到Android/Java,我真的看到了它们的区别。Net有许多不同的设计模式,为您的自定义类提供了很好的指导。好消息是,.Net BCL和Android SDK背后的工程师们在实现一些非常常见的设计模式方面做了大量工作,因此有很多很好的例子可供遵循。

在我看来,您可以先开始编写代码,当您发现自己的代码很丑或编写冗余代码时,您可以寻找设计模式,使您的设计更好。

我看不出将应用程序算法(模型)从事件处理代码(ActivityClass)和表示代码(XML)中分离出来会有什么问题。关键思想是分离关注点和松耦合

日航