【问题标题】:Best Design pattern for social media file transfer社交媒体文件传输的最佳设计模式
【发布时间】:2011-02-03 00:43:16
【问题描述】:

我们的系统希望我们的客户将他们的帐户与 youtube、vimeo、facebook、myspace 等不同的社交媒体网站相关联。

我们希望为用户提供的好处之一是传输、更新和删除他们上传到我们网站的文件,并将它们传输到上述社交媒体网站。这些文件可以是视频、图像或音频。

我们开始考虑使用策略模式,因为所有这些网站都共享一个共同的流程(身份验证、连接、使用 API 传输/编辑/删除文件),但我们很快意识到它可能无法像我一样工作可能想要使用特定于每个服务的一些扩展功能(例如:将 youtube 视频与频道相关联,或将图像上传到 facebook 上的特定相册,等等......)

我的问题是,在这种情况下最好的结构设计模式是什么?

【问题讨论】:

    标签: design-patterns file-transfer social-media


    【解决方案1】:

    我实际上会将您尝试将用户连接到的服务拆分为以下组:

    • 视频服务
    • 照片服务
    • IM 服务等

    对于每个组,您可能有一个要实现的通用接口。当然,每个社交媒体网站都可以有多个界面。此外,我会为这些接口添加一个特殊的扩展点,让您可以重用每个站点的特定内容。

    例如,在标准形式中,您将使用此方法:

    videoService.upload(chanel, playlist, file) 
    

    如果站点支持一些您无法放入通用接口的特殊功能,则使用扩展属性调用它:

    if (videoService.getSiteName() == "YouTube") {
       videoService.upload(chanel, playlist, file, extendedProperties) 
    }
    

    【讨论】:

      猜你喜欢
      • 2018-08-28
      • 2011-01-24
      • 2020-03-04
      • 1970-01-01
      • 2014-10-12
      • 1970-01-01
      • 2020-01-22
      • 2016-05-01
      • 2014-12-09
      相关资源
      最近更新 更多