【问题标题】:What is the name of the pattern that these four Android classes comprise?这四个 Android 类组成的模式的名称是什么?
【发布时间】:2016-11-06 00:49:59
【问题描述】:

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

PhotoManager.java

PhotoTask.Java

PhotoDecodeRunnable.java

PhotoDownloadRunnable.java

来自PhotoTask 类中的 cmets:

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

评论将PhotoTask 视为“管理任务的持久存储”。这是委托模式吗?如果您对这些课程和模式有任何了解,我将不胜感激。

【问题讨论】:

    标签: java android oop design-patterns


    【解决方案1】:

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

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

    PhotoTask 使用多个可运行对象并实现它们的接口。它将其操作委托给可运行对象,在我看来,它实际上看起来像 Facade,以隐藏复杂性并封装特定任务。

    【讨论】:

      猜你喜欢
      • 2010-12-10
      • 2022-11-30
      • 2019-10-17
      • 2011-02-10
      • 2010-12-07
      • 2012-03-05
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多