Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android应用程序架构:软件包应该如何形成?_Java_Android_Architecture - Fatal编程技术网

Java Android应用程序架构:软件包应该如何形成?

Java Android应用程序架构:软件包应该如何形成?,java,android,architecture,Java,Android,Architecture,我是android编程新手。我经常看到程序员将包创建为活动、片段、适配器等的集合。对我来说,将活动/屏幕所需的所有java代码放在一个地方似乎更直观。例如:对于主屏幕,我将把活动、片段、适配器、自定义视图等都放在一个地方。 是否有任何明确的理由认为这是一种普遍做法,还是仅仅是一种传统做法?没有官方规定,也许是我没有想到的最佳做法 所以我们现在得到了一个基于意见的答案: 我使用包名将类分组到逻辑主题,如适配器、活动等 如果您想要另一个结构,请按照您想要的方式进行操作,这可能会混淆其他开发人员 请记

我是android编程新手。我经常看到程序员将包创建为活动、片段、适配器等的集合。对我来说,将活动/屏幕所需的所有java代码放在一个地方似乎更直观。例如:对于主屏幕,我将把活动、片段、适配器、自定义视图等都放在一个地方。
是否有任何明确的理由认为这是一种普遍做法,还是仅仅是一种传统做法?

没有官方规定,也许是我没有想到的最佳做法

所以我们现在得到了一个基于意见的答案:
我使用包名将类分组到逻辑主题,如适配器、活动等

如果您想要另一个结构,请按照您想要的方式进行操作,这可能会混淆其他开发人员

请记住,包名应该是唯一的,因此您应该使用前缀,如您拥有或允许使用的域(按原因相反的顺序)

还可以查看此链接,其中指出了更多的想法:

构建应用程序的第一个问题是“如何将其划分为包?”。对于典型的业务应用程序,似乎有两种方法可以回答这个问题。
按功能打包
按功能打包使用包来反映功能集。它尝试将与单个功能(且仅该功能)相关的所有项目放置到单个目录/包中。这导致包具有高内聚性和高模块性,并且包之间的耦合最小。紧密协作的项目彼此相邻放置。它们并不是分布在整个应用程序中。还值得注意的是,在某些情况下,删除功能可以简化为一个操作—删除目录。(删除操作可能被认为是最大模块化的良好测试:只有在一次操作中可以删除项时,项才具有最大模块化。)


没有官方规定,也许是我没有想到的最佳实践

所以我们现在得到了一个基于意见的答案:
我使用包名将类分组到逻辑主题,如适配器、活动等

如果您想要另一个结构,请按照您想要的方式进行操作,这可能会混淆其他开发人员

请记住,包名应该是唯一的,因此您应该使用前缀,如您拥有或允许使用的域(按原因相反的顺序)

还可以查看此链接,其中指出了更多的想法:

构建应用程序的第一个问题是“如何将其划分为包?”。对于典型的业务应用程序,似乎有两种方法可以回答这个问题。
按功能打包
按功能打包使用包来反映功能集。它尝试将与单个功能(且仅该功能)相关的所有项目放置到单个目录/包中。这导致包具有高内聚性和高模块性,并且包之间的耦合最小。紧密协作的项目彼此相邻放置。它们并不是分布在整个应用程序中。还值得注意的是,在某些情况下,删除功能可以简化为一个操作—删除目录。(删除操作可能被认为是最大模块化的良好测试:只有在一次操作中可以删除项时,项才具有最大模块化。)


通常,活动位于主包中,片段、适配器、UTIL、模型在它们自己的包中,比如片段包中的片段和ISODateParser类可以进入UTIL包

您可以在包含android最佳实践的指南中找到更多信息

指南中的Java包体系结构标题下讨论了关于哪些类应该放在哪些包下的指导原则


希望有帮助

通常,活动位于主包中,片段、适配器、UTIL、模型在它们自己的包中(如片段包中的片段)和ISODateParser类可以进入UTIL包

您可以在包含android最佳实践的指南中找到更多信息

指南中的Java包体系结构标题下讨论了关于哪些类应该放在哪些包下的指导原则

希望有帮助

是否有任何明确的原因,一般做法或它是公正的 传统习俗

对。在我当前的应用程序中,我有50多个自定义UI视图和一些活动。至少10个单例控制器和大量数据库模型。因此,
为了不在项目中丢失
,我使用了如下整洁的结构:

Activity
Adapter
Controller
Native
Model
-Database
-Rest
Ui
我建议你使用这种结构

是否有任何明确的原因,一般做法或它是公正的 传统习俗

对。在我当前的应用程序中,我有50多个自定义UI视图和一些活动。至少10个单例控制器和大量数据库模型。因此,
为了不在项目中丢失
,我使用了如下整洁的结构:

Activity
Adapter
Controller
Native
Model
-Database
-Rest
Ui

我建议您使用这种结构。

这与在代码库增长时创建组件、可重用对象和代码维护有关。您的方法适用于小型应用程序,并且没有任何规则禁止它。但是,一般来说,根据推荐的和常用的方法创建包/文件结构可以更容易地修改代码并与同一项目中的其他人协作。考虑以下事项:

如果您有许多活动分布在许多包或文件夹中,那么负责更改UI的人员将必须遍历这些包。这使得识别可跨
活动使用的UI模式变得困难,甚至更难使用这些模式,因为您需要在每个包/文件夹中实现它们

这也造成了看l的问题