我对干净架构的架构概念比较陌生。不幸的是,我有一些理解问题:
我理解这个概念,你应该遵循规则,没有内层可以知道外层的任何信息,你只能通过边界接口调用外层。
现在让我们做一个简单的思想实验,其中用户输入持久存储的数据:您有一个 UI(Webform、Console 等)并且用户输入数据。在一个事件(例如提交)之后,控制器调用一个用例(比如“PersistentStoreData”),我们向下工作到实体级别。我有点理解这一点。但是假设我们要将数据存储到数据库中。解耦规则说,内层的任何实体、用例或任何东西都不能知道外层的任何信息。只能通过接口进行调用。但是有一次必须有一个实例化的对象,它具有处理数据库请求的业务逻辑,并且您肯定不能实例化接口。哪个组件实例化了这个“数据库对象”?由于依赖规则,不是内层。唯一的其他组件是 UI,但这对我来说毫无意义。为什么 UI 应该知道有关数据库的任何信息?
也许是一个愚蠢的问题,但我无法理解这个问题。