输入端口在简洁架构中的作用

ras*_*uru 10 port design-patterns repository clean-architecture

您能解释一下干净架构中输入端口这样的抽象有什么好处吗?为什么不直接使用交互器/用例?我了解输出端口的作用 - 这样用例就不必了解演示器和其他适配器。但我无法理解这一点。另外,repository接口和端口之间有什么关系吗?存储库接口可以被视为输入或输出端口吗?谢谢你!

hsc*_*ler 5

这有助于实现开闭原则。

\n
\n

软件工件应该对扩展开放,但对修改关闭。

\n
\n

请阅读 Uncle Bob 的《Clean Architecture》一书的第 8 章了解更多相关内容。他在“信息隐藏”子章中写道:

\n
\n

传递依赖违反了软件实体不应依赖于它们不直接使用的事物的一般原则。当我们谈论接口隔离原则和通用重用原则时,我们\xe2\x80\x99将再次遇到这个原则。

\n
\n

并进一步:

\n
\n

因此,尽管我们的首要任务是保护交互器免受控制器更改的影响,但我们也希望通过隐藏交互器的内部结构来保护控制器免受交互器更改的影响。

\n
\n