backend/
module1
module2
module3
frontend/
module1
module2
module3
或
modules/
module1/
frontend
backend
module2/
frontend
backend
module3/
frontend
backend
答案 0 :(得分:3)
根据您提供的信息,我会选择第二个。我知道该模块及其所有依赖项都驻留在此文件夹中。删除此文件夹,模块消失。如果您需要更新/禁用/替换模块,只需更新一个文件夹即可。
但是,如果模块不是100%个人而且我的某些情况取决于其他模块,我会选择第一个选项。
答案 1 :(得分:3)
这纯粹是个人选择。我已经构建了我的系统来将后端代码与前端隔离开来,这样我就可以对编辑网站数据的时间和地点进行严格而精确的控制,但这只是我的方法。就个人而言,我觉得一种方式不一定比另一种更好;无论你喜欢什么,只要你保持一致就完全没问题。
答案 2 :(得分:2)
许多框架都采用类似于您的第一种方法。它适用于团队开发,因为前端开发人员可以更容易地(使用SVN等)隔离到前端目录。
答案 3 :(得分:1)
选择取决于你想要达到的目标。第一种架构是分层,第二种是组件。 MVC与组件类似(如在桌面GUI等中)。通过图层,您可以逐层隔离模块,这意味着您可以在现有图层上构建。这也用于IO / OSI TCP / IP堆栈。另一方面,组件更细粒度并且可以如此重复使用 - 例如你可以从“小部件”组成桌面GUI。那么什么对网络更好?在主流方面,即imho MVC,第一层架构似乎被更多地使用。也许这个问题与询问asp.net是否比sp.net mvc更好......
答案 4 :(得分:1)
如果要跨2个物理层(Web服务器和业务服务器)部署应用程序,则选项1可能是最合适的。这样,部署(像部署或基于安装的部署一样)将更容易配置或运行。
我喜欢选项2以便于维护,您可以轻松地告诉开发人员开始使用“模块A”,他们需要的所有代码都在一个地方。
基本上,完全取决于你和团队。我曾与两者合作,这实际上取决于您的环境,例如开发人员数量和部署策略。