我想这更多是设计模式问题,而不是编码问题。所以我们开始...我有一个包含许多类和活动的android应用程序。我根据其功能将类分组在目录内,例如:AsyncTask目录内的DownloadTask,ScanTask。然后,我将所有所有活动都放在活动目录中,依此类推。但是我注意到很多代码都重复了。例如,我有3个活动PingActivity,NetstatActivity,WhoisActivity,从代码的角度来看,它们基本上是完全相同的。唯一的不同是它们使用的命令,例如:PingActivity的ping主机,NetstatActivity的netstat -ant等等。它们都从看起来非常相似的xml布局实例化视图,因为我所拥有的只是EditText,button和TextView。并且类调用AsyncTask来执行与主线程分离的后台进程。除了WhoisActivity之外,WhoisActivity使用rest api服务来查询域名。所以我的问题是如何简化设计?我可以使用一个单一的类并根据用户选择的菜单选项传递命令或api吗?我怎样才能做到这一点?谢谢
答案 0 :(得分:1)
只是一些建议,我谦虚地认为 ...
已经说过,如果有一些看起来(实际上是)相等的代码,请尝试将它们分解为注入类中的服务。只是 not 尝试通过将所有看起来相似的代码放入带有一些参数和一些if-else / switch块的类/方法中来降低复杂性,因为从长远来看,这通常比拥有很多小型且有组织的课程。