0

背景

有很多很好的资源介绍如何使用 MVVM/MVP 来分离您的层,以便设计人员和编码人员可以分开工作。这不是 PRISM 问题,但我还检查了几个 Prism 教程(包括Microsoft 的 Mike Taulty 的这个 出色的 4 小时以上系列,等等)

这些教程/书籍/视频解释了内部工作原理,例如如何跨视图模型传递消息、如何模块化应用程序、最佳安全实践等。

然而,没有人谈论如何真正*逻辑地划分*一个应用程序(WPF 或 ASP.Net MVC),以便多人可以处理它。

问题

您通常如何将职责分配给您的开发团队?

假设您使用高级 UML 工具,一旦高级图准备好但没有编写代码,您如何确保

1- 在 UI 上工作的开发人员将知道并能够访问类库开发人员编写的类库函数?

2- 由两个不同的开发人员为两个不同的目的编写的两个库可以互操作吗?

我希望我不会在这里感到困惑。这个问题只是针对一些好的经验法则。由于两个人在一个解决方案中从事两个项目(WPF/Silverlight 或 ASP.Net MVC)将采用两种不同的方式,一个人编写的方法/类/函数如何与其他人结合在一起?

谢谢

4

3 回答 3

2

然而,没有人谈论如何真正*逻辑地划分*一个应用程序(WPF 或 ASP.Net MVC),以便多人可以处理它。

您实际上不需要划分应用程序以便多人可以处理它:您也可以使用Team Foundation Server。还有一个免费版本可供 5 个或更少的用户使用。

教程:VS2010 中的 TFS 入门

于 2013-08-03T16:22:05.093 回答
1

据我了解您的问题,您希望在您的项目中拥有一个基础设施,让具有不同技能的人可以单独工作。如果我是对的,“领域驱动设计”将是您可以选择的最佳基础架构。

领域驱动设计 (DDD) 是一种通过将实现连接到不断发展的模型来开发满足复杂需求的软件的方法。领域驱动设计的前提如下:

  1. 将项目的主要重点放在核心领域和领域逻辑上。

  2. 基于领域模型的复杂设计。

  3. 发起技术专家和领域专家之间的创造性合作,以迭代地改进解决特定领域问题的概念模型。

这个词是由埃里克埃文斯在他的同名书中创造的。

有一个很棒的项目可以帮助您:Microsoft Spain - Domain Oriented N-Layered .NET 4.0 Sample App基于易于理解的简单场景,并且有据可查。

项目中非常仔细地讨论了模块化、分层等概念,我相信这可以满足您的期望。

显然,您需要像 Team Foundation Server 这样的源代码控制或其他替代方案,以控制多个开发人员对源代码的更改。

于 2013-08-03T20:15:49.440 回答
0

由于两个人在一个解决方案中处理两个项目(WPF/Silverlight 或 ASP.Net MVC)将采用两种不同的方式,一个人编写的方法/类/函数如何与其他人结合在一起?

您需要为公共功能维护一些公共库。并且两个开发人员需要每 2 或 3 周进行一次代码审查。这样他们就可以找到自己的不同之处并互相学习。

于 2013-08-05T04:22:58.867 回答