どのデザインパターンは、マネージャークラスの代わりに使用することができますか?

UN:

私は、クラスと呼ばれているPhotoManager、それはシングルトンです。このクラスは、のようなメソッドが含まれています。

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

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

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

私も持っているいくつかの他のクラス持っているManager自分の名前に接尾辞を。例えば、SuggestionManagerそれは、いくつかの入力データと戻り、ユーザベースの提案を受信します。

私はこれらの2つのクラスをリファクタリングしたいのですが、私は使用するパターンか分かりません。それはFacadeパターンにすることはできますか?

マシューTimmermans:

なぜPhotoManagerは存在しませんか?PhotoManagerは、どのような状態を持っていますか?そうでない場合には、単にそれを取り除きます。Kotlinでは、外側のクラスの機能を有することができます。

それは状態を持っている場合は、あなたがクラスを必要とする理由を把握し、それはあなたがより良い名前を把握するのに役立ちます。

「PhotoManagerは、」誰もが考えていないので、「私がする何かが必要、悪い名前で管理し、私の写真を」...と誰かがあればやったことを考えて、それが仕事をするだろうと同じように、そしてあなたのクラスは鳴りません。あなたのクラスの消費者として、それが何にある

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=283182&siteId=1