2014-10-16 28 views
0

今天我和同事讨论了一个软件架构主题。我们不知道为什么分层软件体系结构的大多数示例都使用单独的Visual Studio项目?将图层逻辑分隔成Visual Studio项目有什么缺点?我们的团队由4至6名软件开发人员组成。什么时候在分层架构中为一个图层使用Visual Studio项目?物理分离有什么好处?

+0

请限制/编辑您的问题,以堆栈溢出更高的标准.. – NightSkyCode 2014-10-16 12:52:55

+0

有趣的问题。我也对这类架构设计问题感兴趣。我宁愿物理分离,但我无法解释为什么。 – 2014-10-17 09:00:06

回答

3

我也在问自己同样的问题开始一个新项目时...

在我看来:

在Visual Studio项目分离的有益效果:

  • 您不需要重新编译尚未更改的项目。在大型项目中,这可能会缩短编译时间。
  • 您可以通过将以前编译的DLL包含在不同的项目中来重用多个组件。例如。就像您在每个项目中开发的框架DLL或某个核心组件。
  • 思维的大项目:几支球队在几个项目的工作:如果所有的人都只想用一个项目,你将有合并冲突的巨大的负荷,当你将只是一个单一的项目
+0

我同意你的前两个论点。关于你的第三个参数:你也可以通过相应的项目文件夹来实现关注的分离。因此,您可以避免合并冲突。这不适用于大型团队,但可能适用于较小的团队。使用单独的Projects/DLL进行图层的另一个优点是可扩展性。您可以将DLL安装在不同的机器上并按需扩展它们。 – Chicinho 2014-10-20 12:58:03

1

我看着工作视频'Creating N-Tier Application in C#'今天史蒂夫史密斯Pluralsight。这段视频帮助我找到了正确的答案。如果将逻辑上将应用程序分层,但将它们物理地组合成一个单独的组合件,则主要优点是简单的部署和性能。

由于没有机器和流程边界,您可以获得性能。部署很简单,因为您可以部署构建的单个制品。

将体系结构分为多个层是第一步,然后才能以不同的方式部署应用程序。此外,您可以应用面向服务的体系结构进行物理分离。