4

我目前正在使用洋葱架构设置 Visual Studio 解决方案。我对如何构建解决方案有很好的理解,但我遇到了一些麻烦。我的解决方案是使用多个 API。这些 API 使用 WCF、Soap Web 服务和 RESTSharp 用于 REST 服务。我不确定如何构建它。

最大的困惑在于 REST 服务,因为它不仅使用 RESTSharp,还使用一些用于序列化的 POCO 类。我也有:

ApiResult<T> where T is any of the POCO classes.

我的第一个想法是创建 Infrastructure.RestSharp,我将在其中实现所有返回 ApiResult 的接口,但问题是我将这些 POCO 类和 ApiResult 放在哪里?由于接口正在使用它们,它们将不得不进入核心的某个地方,但是哪里是放置它们的好地方呢?

WCF 和肥皂服务呢?我会创建一个 Infrastructure.WebServices 吗?

4

1 回答 1

5

也许这会有所帮助。这是我用于使用 Onion Architecture 设置 Visual Studio 项目的图表。箭头显示哪些项目引用了其他项目。蓝框是我创建的项目。橙色项目是第 3 方项目或 .NET API。

  • UnitTests、Web (UI) 以及依赖注入和数据访问层项目都位于洋葱的外层。
  • 所有参考都向内指向核心(外部层除外,它可以指向侧面)。
  • 所有 API 都通过外层项目访问。

洋葱架构图

于 2012-10-01T16:06:13.147 回答