我有一个关于 Uncle Bob 的Clean Architecture 中的“用例输出端口”的问题 。
在图像中,鲍勃叔叔将端口描述为接口。我想知道是否有要这样或者如果调用的用例交互器还可以返回一个“简单”的价值。在任何一种情况下,应用程序和业务规则层都将定义接口适配器层必须使用的接口。所以我认为对于简单的调用,只返回一个值不会违反架构理念。
真的吗?
此外,我认为演示者实现的这个输出端口接口应该像观察者模式一样工作。演示者只是观察交互者的相关“事件”。在 .NET 事件是一等公民的情况下,我认为使用其中一个是相同的想法。
这些想法是否与 Clean Architecture 背后的想法兼容?
鲍勃叔叔说:
\n\n“非公开 API 中的防御性编程是不进行 TDD 的团队的一种气味和症状。”
\n\n我想知道 TDD 如何避免以意想不到的方式使用(内部)函数?我认为 TDD 可以\xc2\xb4t 避免它。它仅表明该函数使用正确,因为调用函数被通过单元测试的 it\xc2\xb4s 覆盖。
\n\n当使用(非防御性)功能开发新功能时,该功能也是使用 TDD 开发的。因此,无意使用该功能将导致新功能测试失败。
\n\n因此,使用 TDD 来驱动新功能将迫使您正确使用(内部)功能。
\n\n你认为这就是鲍勃叔叔\xc2\xb4s 推文的含义吗?
\n