更大的OpenSource项目可以从适当的风格和模式中学习

时间:2013-11-14 14:35:43

标签: android

我检查了http://code.google.com/p/iosched/以及我使用过的少量库的代码。现在我的项目增长了,它有大约40个类,包含片段,活动,对话框,只是在com.myapp.android.ui中,我想看看其他人如何组织它。这就是为什么要建议一些写得很好的开源项目来强调目录结构的原因。

目前我看起来如下:

com.myapp.android
com.myapp.android.adapter
com.myapp.android.browser
com.myapp.android.exception
com.myapp.android.misc
com.myapp.android.model
com.myapp.android.provider
com.myapp.android.ui
com.myapp.android.util
com.myapp.android.view
com.myapp.android.webview

我想知道天气我应该按块来组织文件 - 比如这里我有一个名为com.myapp.android.browser的块,其中我保留了BrowserActivity的帮助类。其他片段/活动是“较小的”,所以他们的帮助类在com.myapp.android.util中。是人们这样做的吗?

1 个答案:

答案 0 :(得分:1)

我认为没有一种特定的对错方式,无论哪种方式最适合您,或者您的开发团队都需要。

我个人将应用程序的各个部分分成了模块。例如,所有GUI控件都在主要的默认包中。应用程序的逻辑部分,根据用户输入的内容实际上做的事情我通常放在一个单独的项目中,如果有一个特定的逻辑部分可能很大,或者至少包含几个类文件我分开例如,我的应用程序执行后台同步,因此所有与syncrhonisation相关的类都在一个单独的包中。

举个例子,我的应用程序可能包含以下软件包。

com.company.myapp

这将包含所有GUI控制代码,活动的开始/结束和用户输入。这个位可能包括数据验证,即填写所有必需的编辑文本框,如果没有,只显示错误,如果是,则传递给逻辑函数

<强> com.company.myapp.logic

这将包含逻辑部分,实际做某事的东西。即用户从GUI输入的变量将被传递到该包内的相关类中以处理数据并将结果返回给GUI,例如, successsomething has gone错误。

<强> com.company.myapp.sync

与多个设备之间的数据同步相关的所有代码

希望这有帮助