首页 > 解决方案 > 可以使用哪种设计模式来代替 Manager 类?

问题描述

我有一个类叫做PhotoManager它是一个单例。此类包含以下方法:

fun downloadPhoto(context: Context, photoUrl: String) { }

fun savePhotoUri(context: Context, uri: Uri) { } 

fun setWallpaper(context: Context, photoUri: Uri) { }

我还有其他一些Manager名称中包含后缀的类。例如,SuggestionManager接收一些输入数据并返回基于用户的建议。

我想重构这两个类,但我不知道使用哪种模式。可以是Facade模式吗?

标签: androidkotlindesign-patterns

解决方案


如果你想将你的类称为管理器并且经常使用单例,在大多数情况下,这意味着缺乏对设计模式以及它们解决的问题的理解。

类似的问题已经被问过很多次了,我只是觉得在这个阶段,你可以从下面的一些话题中得到启发。

命名类 - 如何避免将所有内容称为“<WhatEver>Manager”?

如何避免…Helper 或…Manager 类

清洁代码会谈 - “全球状态和单身人士”


推荐阅读