我正在计划一个新的项目,我将在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:这个层有点特别。这里有一些功能,类,实体等等,它们将在几个层次中被需要。
我认为其他文件夹应该是透明的。如果没有,让我知道他们。你对这个解决方案结构有什么看法?这是一个好的开始,还是我需要返工?
发布于 2015-03-09 09:50:42
你对这个解决方案结构有什么看法?这是一个好的开始,还是我需要返工?
这是一个很好的开始;它可能需要一些返工:)
如果你在考虑一个项目,这是很好的。理想情况下,您应该将其分成多个项目(作为单独的lib/dll项目),并有一个包含main.cpp并启动应用程序/服务器/服务的主项目。
分成多个项目的好处:
我会考虑以下的改变:
根//项目根、源代码管理根等
- Application [dir]
- main.cpp
- main project file (.vcxproj I think)
- DataAccess
- headers and sources, not split into separate directories (because this is the visual studio default and it will decrease mistakes caused by default settings in visual studio)
- project file
- Business [same structure as DataAccess] ...
我还将在解决方案文件附近定义一些公共属性页,其中我将指定公共构建和临时构建目录,然后根据项目继承这些属性页;这将集中构建工件和二进制文件,并简化公共设置的编辑。
注意:我目前正在处理一个相对较大的项目(在解决方案中大约有180个项目),使用此结构。
https://stackoverflow.com/questions/28938373
复制相似问题