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

7
除了了解Java之外,我在开始研究Android SDK之前应该学习哪些设计模式?
编辑:我提出这个问题的原因是,在查看SDK之后,我认为它严重使用适配器模式,而我想知道它还使用了哪些其他模式,这可以帮助我的学习过程。
谢谢。
6个回答

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/

4

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

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


1

高级框架(如Android)往往遵循一组设计模式。这就像你在工作中学习模式一样。一个很好的例子是OnXXXListener接口的发布者/订阅者模型。如果你遵循框架所设定的规则,它真的就会自然而然地出现在你的脑海中(当然,这只是我的观点)。例如,我创建了一个颜色选择器视图。我希望视图(活动)的消费者能够接收到“颜色已选定”的通知。我只需查看SDK类如何实现此功能,并跟随它们的步伐(创建一个OnColorSelectedListener接口,其中包含onColorSelected方法,在我的颜色选择器视图中通过setOnColorSelectedListener公开此功能等)。

从.Net背景转向Android/Java,我真的看到了差异。.Net有很多不同的设计模式,为你的自定义类提供非常好的指导。好消息是,.Net BCL和Android SDK的工程师们在实现一些非常常见的设计模式方面做得非常出色,因此有很好的示例可供参考。


1
在我看来,你可以先开始编写代码,当你发现自己的代码丑陋或发现自己在编写冗余代码时,你可以寻找设计模式来改善你的设计。

0

有什么想法吗?开始动手吧。开发者指南 可以帮助你顺利地进行。


0
我认为将应用程序算法(模型)与事件处理代码(ActivityClass)和演示代码(XML)分开是没有错的。关键思想应该是关注点分离和松散耦合。
JAL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接