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

时间:2011-02-23 02:08:54

标签: java android design-patterns

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

编辑:我之所以会问这个问题,是因为在查看了sdk之后,我认为,不确定,它大量使用适配器模式我想知道我是否能够知道它正在使用的其他模式,它可以帮助我的学习过程。

感谢。

6 个答案:

答案 0 :(得分:4)

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

当然,开发者网站也是寻找任何资源的好地方:http://developer.android.com/index.html

这篇文章我在周末的时候发现,在编码比赛中也可能有助于你走上正确的道路 http://answers.oreilly.com/topic/1133-how-to-start-programming-in-android/

答案 1 :(得分:4)

无需学习任何设计模式即可开始使用Android SDK(可能了解Observer / Listener模式将帮助您熟悉Android中的事件处理)。

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

答案 2 :(得分:1)

Android等高级框架往往会遵循一系列设计模式。这几乎就像你在学习工作中的模式一样。一个很好的例子是OnXXXListener接口的发布者/订阅者模型。如果你遵循框架提出的主旨,它实际上就是你(当然,我认为)。例如,我创建了一个颜色选择器View。我希望View(Activities)的消费者能够接收“颜色选择”等通知。我只是看看SDK类是如何做到这一点的,并遵循他们的主导(使用onColorSelected方法创建一个OnColorSelectedListener接口,在我的颜色选择器视图中通过setOnColorSelectedListener公开此功能)。

从.Net背景到Android / Java,我真的看到了差异。 .Net有许多不同的设计模式,为您的自定义类提供了很好的指导。好消息是,.Net BCL和Android SDK背后的工程师在实现一些非常常见的设计模式方面做得很好,所以有很好的例子可供使用。

答案 3 :(得分:1)

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

答案 4 :(得分:0)

评论?刚开始黑客入侵。 Developers Guide可以帮助指导您。

答案 5 :(得分:0)

我不知道如何将应用程序算法(模型)与事件处理代码(ActivityClass)和表示代码(XML)分离出来。关键的想法是分离关注点和松耦合。

JAL