Architecture 干净的独立架构

Architecture 干净的独立架构,architecture,software-design,software-distribution,Architecture,Software Design,Software Distribution,我在Bob叔叔的书《清洁体系结构》第21章中读到,一个好的体系结构必须独立于它将运行的交付系统,无论是web应用程序、控制台应用程序还是厚客户端应用程序 现在假设我想用c#开发我的软件的核心,我怎么可能把它作为web客户端应用程序来交付呢?反之亦然,如果我选择Typescript作为一种语言,我如何将我的应用程序作为桌面应用程序交付 我的问题是我是否误解了书中所指的概念,或者我是否可以用一种语言编写通用软件而不依赖于某个框架?如果你用C#编写应用程序的核心,你可以选择将其作为web应用程序交付:

我在Bob叔叔的书《清洁体系结构》第21章中读到,一个好的体系结构必须独立于它将运行的交付系统,无论是web应用程序、控制台应用程序还是厚客户端应用程序

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


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

如果你用C#编写应用程序的核心,你可以选择将其作为web应用程序交付:ASP.net、web api和其他框架。其思想是应用程序的内层(用例、实体等)独立于交付机制

同样,如果你在Typescript中使用它,如果你想使用你当然可以使用的东西重新部署它,那么它将是架构的内层,而不是外层(服务和模型)

如果您在内部层依赖于您的UI框架,那么您就没有使用干净的体系结构。它应该是独立的,并且与之隔离(如果没有其他内容,只是为了测试)