如何组织项目的目录结构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何组织项目的目录结构相关的知识,希望对你有一定的参考价值。

参考技术A

上一篇:搭建一个简单的商品管理系统

还是以商品管理系统为例,来说下目录结构组织

说明

1.1. 根项目:shopmanage-project
1.2. 在根项目下面,新建shpm-api-project(存放对外提供的服务接口),shpm-config-project(存放整个项目的公共配置),shpm-utils-project(存放整个项目的公共工具类),shpm-emall-project(对应api接口中某个服务集的具体实现)。
1.3. 由于项目使用Gradle构建,所以需要在根项目下新建build.gradle和settings.gradle。

创建完项目后的目录:

build.gradle
该文件为Gradle项目的必须文件,内容如下:

settings.gradle
多项目时需要设置,设置了该内容后,导入eclipse中会将根项目下的子项目提取出来,和根项目显示在同一级,注意:只是在eclipse中显示为同一级了,其实还是在根项目下的。

做完上述工作就可以使用eclipse的Import导入项目了。 eclipse导入Gradle项目

例如我们现在增加订单中心,客户中心等,每个都是一个独立的服务,则可以在api接口中新建IOrderManageSV,和ICustommManageSV,而每个接口对应一个独立的实现项目,shpm-order-project,shpm-custom-project,调整后如下图。

接口项目中包定义

以商品管理系统为例,在emall下面按照具体功能划分,pmloginauth包含登陆的相关接口,productmanage包含对商品操作的相关接口。每个具体包下,细分为interfaces和param。

具体项目中包定义

说明

下一篇:Spring整合Mybatis实现简单的分页查询

C++项目目录组织结构

项目目录结构的问题基本上是个仁者见仁,智者见智的问题,只要自己用着顺手,使用什么样的目录组织结构是没有什么大碍的。当然如果项目很大,参与的人员很多,那么合理的组织一下目录结构还是会有很大的益处的。不同类型的项目也会有不同的目录结构,这里简单的展示一下我所使用的C++项目的基本目录结构。

project —+—build—+—debug
     |     |—release
     |—dist
     |—doc
     |—include—+—module1
     |      |—module2
     |—lib
     |—module1
     |—module2
     |—res
     |—samples—+—sample1
     |      |—sample2
     |—tools
     |—copyleft
     |—Makefile
     |—README
     |— …

下面分别介绍一下各目录和文件的用途

build/:项目编译目录,各种编译的临时文件和最终的目标文件皆存于此,分为debug/和release/子目录

dist/:分发目录,最终发布的可执行程序和各种运行支持文件存放在此目录,打包此目录即可完成项目分发

doc/:保存项目各种文档

include/:公共头文件目录,可以按模块划分组织目录来保存模块相关头文件

lib/:外部依赖库目录

res/:资源目录

samples/:样例程序目录

tools/:项目支撑工具目录

copyleft:版权声明文件,当然也可以叫做copyright :-)

Makefile:项目构建配置文件,当然也有可能是其他类型的构建配置文件,比如bjam

README:项目的总体说明文件

以上是关于如何组织项目的目录结构的主要内容,如果未能解决你的问题,请参考以下文章

C++项目目录组织结构

C++项目目录组织结构

python 项目目录结构

Vue项目组织规范

React Relay 项目目录结构组织

python 软件目录结构规范--附如何通过环境变量导入其他目录模块