除了了解Java之外,我在开始研究Android SDK之前应该学习哪些设计模式?
编辑:我提出这个问题的原因是,在查看SDK之后,我认为它严重使用适配器模式,而我想知道它还使用了哪些其他模式,这可以帮助我的学习过程。
谢谢。
编辑:我提出这个问题的原因是,在查看SDK之后,我认为它严重使用适配器模式,而我想知道它还使用了哪些其他模式,这可以帮助我的学习过程。
谢谢。
开始使用Android SDK无需学习任何设计模式(了解观察者/监听器模式可能有助于您熟悉Android中的事件处理)。
显然,了解它们将有助于您理解Api某些部分背后的意图。
高级框架(如Android)往往遵循一组设计模式。这就像你在工作中学习模式一样。一个很好的例子是OnXXXListener接口的发布者/订阅者模型。如果你遵循框架所设定的规则,它真的就会自然而然地出现在你的脑海中(当然,这只是我的观点)。例如,我创建了一个颜色选择器视图。我希望视图(活动)的消费者能够接收到“颜色已选定”的通知。我只需查看SDK类如何实现此功能,并跟随它们的步伐(创建一个OnColorSelectedListener接口,其中包含onColorSelected方法,在我的颜色选择器视图中通过setOnColorSelectedListener公开此功能等)。
从.Net背景转向Android/Java,我真的看到了差异。.Net有很多不同的设计模式,为你的自定义类提供非常好的指导。好消息是,.Net BCL和Android SDK的工程师们在实现一些非常常见的设计模式方面做得非常出色,因此有很好的示例可供参考。