activity 中有很多方法

Lots of methods in activity

我的 MainActivity 中似乎有很多 methods/logic,我正在制作一个简单的应用程序,可以播放声音、将它们保存到存储、共享它们或将它们设置为 ringtone/notification声。

在实施了所有必需的操作后,我的 MainActivity 充满了逻辑丰富的方法,我觉得 should/could 更好。我尝试将具有大量 LoC(大约 50 个)的方法(例如 setAsRingtone();)移动到助手 class(例如 RingtoneHelper)作为静态方法,并像 RingtoneManager.setAsRingtone(this, sound); 一样调用它。我可以对 saveToStorage();share(); 等其他方法执行此操作。这将使我的 Activity 更具可读性,但经过一些搜索后我发现使用 helper classes 和大多数静态方法是不受欢迎的。

我可以将这些方法设为私有,然后这样做:new RingtoneManager(context).setAsRingtone(sound); 但对我来说,这似乎是相同的事情,但开销更大。

我怎样才能让我的 Activity 保持整洁而又不包含太多逻辑?我知道像 MVP 或 MVVM 这样的模式,但我想知道如何通过设计我的应用程序的传统方式实现这一点,或者我现在应该放弃并开始使用像 MVP 这样的模式吗?如果是,是什么模式?

感谢您的意见

尝试按照 Class(单一职责)坚持单一概念。 最好的方法是用简单的英语写一个总结语句来描述 class 的作用——如果语句太长或包含很多 "and's",那么它做的太多了。您想尝试并坚持 OO 概念,因此请尽量避免使用大量静态方法并创建具有明确目的的 classes。

你并不总是需要立即采用一种模式,一旦你拆分了代码,寻找重复并尝试消除它,这就是一个好的设计模式可以发挥作用的地方。