mar*_*ker 11 .net c# architecture
我在.net c#应用程序中工作,该应用程序包含2个客户端和服务器解决方案.在服务器端,有80多个项目用于分隔以下建筑图层,
此外,几乎每个层都有测试项目.现在,解决方案的构建时间需要2到3分钟,许多开发人员(包括我:))觉得我们需要解决这个问题.
因此,提出的解决方案是通过合并项目来减少项目数量.在我看来,这可能是一个很好的解决方案,可以最大限度地缩短构建时间,我们可以实现我们想要的目标.
提出的解决方案是我们将项目合并为3个区域,例如一个用于生产代码的库,一个用于测试代码的库,一个用于部署项目(WCF主机等)以及通过分隔命名空间在同一项目中逻辑划分的层.
但是,我担心的是
有没有其他方法来分层解决方案?
我想你应该将你的解决方案分成逻辑层。
作为你把助手放在哪里的一部分。在最低级别之一为其制定解决方案。
例子
农场软件。您需要跟踪您的动物和蔬菜。您需要一个用于喂养动物的模块和一个用于向消费市场销售动物和蔬菜的模块。
这可以分为以下解决方案
后端
每个后端模块都可以有自己的数据访问层、DTO、WCF 服务……
该解决方案将仅包含业务逻辑、数据访问……。并且可以有多个前端解决方案连接到这些后端解决方案。
前端
这对您的项目来说是一个很大的变化,并且会产生影响。如果你不想改变它,请确保你认为这是真的。
多个解决方案将增加您的总体构建时间,并且每晚进行一次构建非常重要,这样每个开发人员都可以始终使用最新的二进制文件,而不必在本地计算机上构建所有解决方案。
请注意,您仍然可以在不同的解决方案中使用图层:
为了使这一切能够一起工作,并且不要被二进制文件弄乱。您可以映射驱动器 IE X:其中有一个文件夹二进制文件,其中有每个解决方案的文件夹。其中每个解决方案复制构建后事件中的程序集。(编写此脚本,以便它适用于每台机器)
如果您有良好的网络基础设施,也可以将其复制到服务器上。因此,当您在 TFS 中构建所有解决方案时,它可以将其复制到所有开发人员都可以访问的位置。
如果您在 TFS 中构建,请确保构建顺序正确,首先是最低层,最后是最高层。
但是,当您拆分解决方案时,您可能不需要在每个解决方案中都使用它们。
我最近读了一篇关于洋葱架构的文章,也许你也可以看看。(它特定于 ASP.NET MVC)。
您还可以查看CQRS。
| 归档时间: |
|
| 查看次数: |
2522 次 |
| 最近记录: |