android中使用的设计模式是什么?

时间:2013-03-31 12:30:02

标签: android design-patterns

我知道android中使用的一些设计模式......

  1. 广播接收器使用观察者设计模式
  2. Intent使用一种工厂设计模式
  3. View使用Composite Design Pattern
  4. Media Framework使用Facade Design Pattern
  5. 除了这些还有Android中使用的其他设计模式吗? 欣赏你的想法

1 个答案:

答案 0 :(得分:8)

Android在其结构中使用了很多模式。

您可以看到的第一个模式是Layer模式,它被归类为POSA 1(面向模式的软件体系结构1)一书中的体系结构模式。层模式的主要结构特征是层J的服务仅由层J + 1使用,层之间没有进一步的直接依赖性。这种模式将解决低级别和高级别问题混合的问题,其中高级别操作依赖于较低级别的操作。 Android建立在多个抽象级别层的堆栈上(有关更多详细信息,请参阅http://elinux.org/Android_Architecture),因此部署此设计是为了解决其问题。

Android在多进程上做了很多事情,因此需要对IPC(进程间通信)机制进行精心设计。在Android,Binder和使用AIDL进行无缝通信,尽管这些进程中的服务可以用Java,C或C ++编写。 Binder由Proxy(In Gang of Four book),Broker(在POSA 1书中)和Facade Wrapper模式(参考此链接http://www.cs.wustl.edu/~schmidt/PDF/wrapper-facade.pdf)实现。代理模式将隐藏来自客户端的通信细节,因此进程可以统一地在本地上下文或网络上下文中与对象通信。经纪人用于隔离与通信相关的问题。 Facade Wrapper模式用于在高级接口中封装C库Android中的低级函数和数据结构。

多线程机制也使用了很多模式。我们可以看到的模式是用于执行长时间运行调用的命令处理器模式。

观察者模式用于跟踪系统相关状态。

...

这些都是我现在能记住的。如果您对Android设计模式感兴趣。您可以在Coursera上查看此课程:https://class.coursera.org/posa-001/class/index以获取更多详细信息。