我正在开发一个(大)内部Web应用程序,它有多个模块(安全性,执行,功能,报告等)。应用程序中的所有页面共享导航,CSS,JS,控件等。我想创建一个“Web应用程序”项目,其中包含应用程序的所有页面,然后引用将具有数据库和业务逻辑的各种项目在他们中。但是,项目中的一些人希望为每个模块的页面分别开展项目。
为了使这一点更清楚,这就是我所倡导的项目。
/WebInterface*
/SecurityLib
/ExecutionLib
etc...
以下是他们所倡导的内容:
/SecurityInterface*
/SecutiryLib
/ExecutionInterface*
/ExecutionLib
etc...
*项目将发布到IIS的虚拟目录
基本上我正在寻找的是两种方法的优点。这是我到目前为止所能想到的:
我不买这些论点 首先,使用负载平衡服务器(我们将拥有),我们应该能够在没有中断数据库更改的情况下,在零停机时间内发布项目的新版本。 第二,如果某些东西“破坏”另一个模块,那么当开发人员复制UserControl,MasterPage或dll的最新版本时,存在不正确的依赖关系或者最终会在其他模块中显示中断。
作为参考,该项目约有10名开发人员约有50%的时间。最初的开发时间约为9个月。
答案 0 :(得分:0)
我认为没有太多理由使用多个虚拟文件夹。
将功能分成单独的模块是一个好主意。但这与虚拟文件夹无关。模块可以是分离的库项目,并使用单独的程序集发布。然后,它们可以单独进行单元测试并单独部署。这就是我一般自己做的事情。