首页 > 解决方案 > 干净的独立架构

问题描述

我在鲍勃叔叔的书clean architecture第 21 章中读到,一个好的架构必须独立于它将在其中运行的交付系统,无论是 Web 应用程序、控制台应用程序还是胖客户端应用程序。

现在假设我想用 c# 开发我的软件的核心,我怎么可能将它作为 Web 客户端应用程序交付?反之亦然,如果我选择 Typescript 作为我的语言选择,我如何将我的应用程序作为桌面应用程序交付?

我的问题是天气我是否误解了书中指出的概念,或者我是否可以用一种语言编写通用软件而不依赖于某些框架?

标签: architecturesoftware-designsoftware-distribution

解决方案


如果您使用 C# 编写应用程序的核心,则有多种选择可以将其作为 Web 应用程序交付:ASP.net、Web api 和其他框架。这个想法是应用程序的内层(用例、实体等)独立于该交付机制。

如果你在 Typescript 中做同样的事情,如果你想使用像Electron这样的东西重新部署它,你当然可以。再一次,它将是架构的内层,而不是外部位(服务和模型)。

如果你在你的内层依赖你的 UI 框架,那么你没有使用干净的架构。它应该是独立的并且与它隔离(如果没有别的,只是为了测试)。


推荐阅读