2011-08-24 79 views
3

我们有一个设计模式类的家庭作业。我们必须解释任何api/framework中使用的设计模式。我在想如果我可以用Android apis来做同样的事情。我知道android使用了一些命令,观察者,模板方法模式等等,但如果有人能指引我参考开始的参考文档,那将会很棒。Android中使用的设计模式apis

非常感谢你提前。

+0

类似的问题:http://rockoverflow.com/questions/6245722/android-design-patterns –

+0

@Ray讨论了在应用程序开发中使用的设计模式。我正在谈论Android API中使用的GoF设计模式。 android如何在内部使用它来解决某些目的。 – Pruthvid

+1

Android是开源的。因此,获取源代码,挑选一两个包,阅读代码并查看模式。目的或作业是让你做一些工作并学习一些东西,而不是在SO上做好准备的答案。 –

回答

1

框架几乎按照定义倾向于实现高级模式,例如MVC或ORM模式。这些不包含在GOF文本中,但您可以在其他模式书中找到它们,例如Martin Fowler的Patterns of Enterprise Application Architecture。一些GOF模式是在框架或甚至语言级别上实现的(例如C#事件/代表作为Observer模式的示例),但大多数GOF模式留给单个开发人员根据需要实现,因为细节往往是应用程序或域特定的。

Android是一样的。它具有内置的模型视图控制器的特定风格,但不是太多的GOF特定模式。尽管只有一个专用用户,但您可以将Activity生命周期回调(onStart,onResume等)视为一种Observer模式。

另一个例子可能是AsyncTask,这可能被认为是Command Pattern的一个物种。我会留给你来建立连接。毕竟这是作业。

0

此链接显示在Java核心中使用设计模式的广泛程度。我希望android也可以广泛使用它们。

Examples of GoF Design Patterns in Java's core libraries

而看到如何适配器模式具体地被在Android帧中使用(第二个例子是从Android的源代码)

http://javatechig.com/design-patterns/adapter-design-pattern-in-java

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/widget/Adapter.java?av=f

设计模式仅仅是约定这是为了简化编码。并且更加清楚,所以你应该确保它是他们所做的事情,并且不会让你的代码结构出现异常。