当前位置: 首页 > 知识库问答 >
问题:

如何最好地将大的app划分成模块?

梁丘柏
2023-03-14

你会如何处理我的问题?

共有1个答案

谭曦
2023-03-14

这主要是一个设计问题。正如您所说的,项目中已经有大量的代码,一种方法是分析整个项目结构的UML图。目标是识别体系结构中几个类之间交互紧密耦合的区域,也可以根据具有相同外部依赖关系的类来形成组。

通过这种方法,您可以降低大型项目的复杂性,将类从它们在大型项目中不使用的外部依赖项中解耦。将项目拆分为的invididual模块将具有更快的构建时间。然后,将项目拆分为的模块可以作为依赖项在主项目中引用。额外的好处是,每次进行更改时,只会重新构建主项目中已修改的模块。

这篇堆栈溢出文章讨论了许多用于Android Studio的UML图生成器插件。代码虹膜是一个很好的选项,您可以通过Android Studio插件菜单安装。作为一个例子,下面是示例FaceTrackerAndroid应用程序上的Code Iris的输出(单击图表放大):

 类似资料:
  • 我尝试使用Java8Lambda表达式和流来解析一些日志。我有一个巨大的日志文件,运行了一次又一次。我想把它分成不同的集合,每次运行一个集合。我不知道日志在advanced中运行了多少次。为了锻炼我非常虚弱的lambda肌肉,我想在列表中一次完成。 这是我目前的实现: 这里基本上类似于TomekRekawek的解决方案,但首先是未知的分区大小。

  • 问题内容: 我手头有一个相当大的应用程序(几个MLOC),我想将其分解为更易于维护的单独部分。当前,该产品由大约40个Eclipse项目组成,其中许多项目具有相互依赖性。仅此一项就使连续构建系统不可行,因为每次检入都必须进行大量重建。 是否有“最佳实践”方法 确定可以立即分离的零件 直观地记录相互依赖性 解开现有代码 处理我们需要应用于库的“补丁”(当前通过将它们放在实际库之前的类路径中进行处理)

  • 问题内容: 在另一个线程中,我表示我喜欢通过执行以下操作来居中GUI: 但是安德鲁·汤普森(Andrew Thompson)有不同的看法,而是打电话给 想问的人想知道为什么吗? 问题答案: 在我看来,屏幕中间的一个GUI看起来是这样的。我一直在等待它们消失,真正的GUI出现! 从Java 1.5开始,我们可以使用。哪一个.. 设置此窗口是否应在下一次使该窗口可见时显示在本机窗口系统的默认位置还是当

  • 问题内容: 我有一个Serializable对象,该对象应该将java.awt.Image作为其成员。我应该如何进行序列化? (抱歉,此版本是根据不太清晰的第一版编辑的。) 问题答案: ImageIcon实现了Serializable,可用于包装Image类 http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/ImageIcon.html

  • 问题内容: 我有一个任意长度的列表,我需要将其分成相等大小的块并对其进行操作。有一些明显的方法可以做到这一点,例如保留一个计数器和两个列表,当第二个列表填满时,将其添加到第一个列表中,并为第二轮数据清空第二个列表,但这可能会非常昂贵。 我想知道是否有人对任何长度的列表都有很好的解决方案,例如使用生成器。 我一直在寻找有用的东西,itertools但找不到任何明显有用的东西。可能已经错过了。 问题答

  • 问题内容: 我正在用Socket.IO开发我的第一个Node.js应用程序,一切都很好,但是现在该应用程序正在逐渐变大,我想将应用程序代码分成不同的文件,以进行更好的维护。 例如,我在主文件中定义了所有的猫鼬模式和路由。下面是用于socket.IO连接的所有功能。但是现在我想要为架构添加一个额外的文件,为路由添加一个额外的文件,为功能添加一个额外的文件。 当然,我知道可以编写自己的模块或使用req