我正在计划一个我将用C ++开发的新项目。我需要一个好的解决方案结构,以便快速进行项目概述。我的项目是基于tcp的服务器。该服务器能够将文件和文本从客户端保存到数据库或文件系统中。服务器还可以将数据库中的文件和数据发送回客户端。我的结构应该如下:
Solution
- main.cpp
- DataAccess
--- Header
--- Source
- Business
--- Header
--- Source
- CrossCutting
--- Header
--- Source
- Server
--- Header
--- Source
--------------------------------
- External Dependencies
- Tests (Unit and Integration)
- Documentation
这是我的主意。这里有一个关于这个文件夹结构的简介:
DataAccess:这是逻辑和数据(数据库,io)之间的连接
业务:这是所有的逻辑。只有企业才能访问数据访问层
服务器:这是我的服务器层。客户请求将在那里处理。只有服务器层才能访问业务层。
CrossCutting:这一层有点像物质。以下是几个层次中需要的函数,类,实体等。
我认为其他文件夹应该清楚。如果没有,请告诉我们。 您对此解决方案结构有何看法?这是一个好的开始还是我需要返工?
答案 0 :(得分:1)
您对此解决方案结构有何看法?这是一个好的开始还是我需要返工?
这是一个好的开始;它可以使用一些返工:)
如果您考虑单个项目,这很好。理想情况下,您应该将其拆分为多个项目(作为单独的lib / dll项目),并拥有一个包含main.cpp的主项目,并启动应用程序/服务器/服务。
分成多个项目的优点:
我会考虑以下更改:
root //项目根,源代码控制根等
我还会在解决方案文件附近定义一些公共属性页面,在那里我将指定公共构建和临时构建目录,然后在项目中继承这些属性页面;这将集中构建工件和二进制文件,并简化常见设置的编辑。
注意:我目前正在使用这种结构处理一个相对较大的项目(解决方案中约有180个项目)。