很难理解干净架构

问题描述 投票:-2回答:2

我是比较新的干净的架构的架构概念。不幸的是,我有一些了解的问题:

我理解这个概念,你应该遵循的规则,没有内层可以了解外层什么,你只能通过一个界面对应致电外层。

现在,让我们在哪里工作是被存储在用户输入数据持续一个简单的思想实验:你有一个UI(网络表单,控制台,...)和用户输入的数据。事件发生后(例如提交)控制器调用一个用例(比如“PersistentStoreData”),我们以自己的方式向下实体层面。我与理解这个有点罚款。但是说,我们希望将数据存储到数据库中。去耦规则说从内层没有实体,用例或任何可以了解外层什么。通话只能通过接口进行。但在同一时间,必须有一个对象实例化具有用于处理数据库请求的业务逻辑和你一定不能实例化的接口。哪个组件实例化这个“数据库对象”?不是内层,因为依赖关系规则的。唯一的其他组件将用户界面,但没有意义的我。在UI为什么要了解数据库什么?

也许一个愚蠢的问题,但我不能让我的头解决这个问题。

architecture clean-architecture
2个回答
1
投票

ü要看看,关键在模式是“资源库模式”和“工作单位”的格局。

传统的分层架构和清洁建筑之间的主要区别在于对资源库中的接口由用例层而不是数据访问层拥有。

我开始How to implement Clean Architecture一个博客系列 - 也许这有助于ü转向清洁建筑付诸实践。


0
投票

看看IoC解决方案。他们确实做了不少这样的可能。通过外部化这些依赖关系,你可以编写到抽象(接口)。因此,而不是数据库对象,你的程序到存储库接口。这样,调用类不知道库的详细信息。

至于究竟调用的IoC基础设施,实际上往往要么是你,你不使用框架中使用,或者在一个情况下,框架的组成部分,UI的会谈,来撷取用例。

© www.soinside.com 2019 - 2024. All rights reserved.