是否可以在 WPF 和 UWP 10 应用程序之间共享中间件项目?
Is it possible to share a middle-ware project between WPF and UWP 10 apps?
假设我有以下项目的解决方案:
Presentation layer: ProjectA1 (UWP 10) ProjectA2 (WPF)
↓ ↓
Infrastructure-mid: ProjectM1 (UWP 10) ProjectM2 (.NET 4.6)
↓ ↓
Infrastructure-low: ProjectL1 (UWP 10) ProjectL2 (.NET 4.6)
演示项目绝对是特定于平台的,底层基础设施项目也是如此,因为它们分别利用了不同的 UI 和网络技术。
但是中级基础设施项目将是相同的,因为它们包含简单的内部逻辑。
能否将两个中级项目合并为一个 PCL,由 UWP 和 WPF 应用程序共享,如下所示:
Presentation layer: ProjectA1 (UWP 10) ProjectA2 (WPF)
↓ ↓
Infrastructure-mid: ===========ProjectM (PCL)============
↓ ↓
Infrastructure-low: ProjectL1 (UWP 10) ProjectL2 (.NET 4.6)
..然后使用依赖注入将适当的低级对象放入通用的中级组件中?
是的。像这样使用 PCL 是在不同目标之间共享代码的推荐做法。
假设我有以下项目的解决方案:
Presentation layer: ProjectA1 (UWP 10) ProjectA2 (WPF)
↓ ↓
Infrastructure-mid: ProjectM1 (UWP 10) ProjectM2 (.NET 4.6)
↓ ↓
Infrastructure-low: ProjectL1 (UWP 10) ProjectL2 (.NET 4.6)
演示项目绝对是特定于平台的,底层基础设施项目也是如此,因为它们分别利用了不同的 UI 和网络技术。 但是中级基础设施项目将是相同的,因为它们包含简单的内部逻辑。
能否将两个中级项目合并为一个 PCL,由 UWP 和 WPF 应用程序共享,如下所示:
Presentation layer: ProjectA1 (UWP 10) ProjectA2 (WPF)
↓ ↓
Infrastructure-mid: ===========ProjectM (PCL)============
↓ ↓
Infrastructure-low: ProjectL1 (UWP 10) ProjectL2 (.NET 4.6)
..然后使用依赖注入将适当的低级对象放入通用的中级组件中?
是的。像这样使用 PCL 是在不同目标之间共享代码的推荐做法。