这四个Android类包含的模式名称是什么?

时间:2016-11-06 00:50:00

标签: java android oop design-patterns

在这里发布的代码有点太多了,所以我会发布github链接:

PhotoManager.java

PhotoTask.Java

PhotoDecodeRunnable.java

PhotoDownloadRunnable.java

来自PhotoTask班级的评论:

  

此类管理PhotoDecodeRunnablePhotoDownloadRunnable个对象。它没有执行下载或解码;相反,它管理执行工作的任务的持久存储。它通过实现下载和解码类定义的接口,然后将自身作为参数传递给下载或解码对象的构造函数来实现。实际上,这允许PhotoTask在线程上启动,在委托对象中运行下载,然后运行解码,然后重新开始。这个类可以合并并在必要时重用。

评论将PhotoTask视为"管理任务的持久存储"。这是代表模式吗?我很欣赏你对这些课程和模式的任何了解。

1 个答案:

答案 0 :(得分:1)

PhotoManager使用Object Pool模式,或者更具体地说是Thread Pool,因为它创建,管理和重用池中的线程实例。

Runnable类通常使用Command pattern,这是通过封装方法调用来模拟没有函数指针的委托的方法。

PhotoTask使用多个runnable并实现其接口。它将其操作委托给runnables,它实际上看起来像Facade,以隐藏复杂性并封装特定任务。