CleanSwift - 演示者可以直接调用路由器功能吗?
CleanSwift - Can a presenter directly call router function?
我正在研究 CleanSwift 架构。我看到图中演示者和相关场景路由器之间没有直接通信,
但通常在某些情况下,演示者只需要路由到另一个视图控制器。我想知道它是否允许演示者直接调用路由器 routeToOtherView() 函数,而不是在视图控制器中调用一个简单重定向的额外函数。
我还在几个项目中使用了 CleanSwift。我喜欢这种架构的地方在于它在 单向 流中工作。在此流程中,ViewController 与 Router、Interactor 和 一起工作主持人。 单向 流让我们很容易找到错误。
让我们通过一个场景来理解这一点。假设您有一个 Button 并单击它要从 ViewController1 移动到 ViewController2。如果你写错了 ViewController3 而不是 ViewController2,现在显示的是 ViewController3 按钮点击。要解决此错误,您必须查看路由机制。你知道路由机制位于 ViewController1,所以要解决它你应该继续 ViewController1 并找到负责路由的函数并解决错误。
如果在 Presenter 中移动路由,在某些情况下只需要从一个 Controller 给另一个。此外,体系结构将取决于您,因为您必须记住是否在 Presenter 或 Controller 中添加了路由机制。它还会影响协作环境,您的对方必须在其中搜索路由机制。如果您观察上述情况,也需要时间来解决错误。
所以最好不要打断流程。多花点钱,让它变得珍贵就好了。希望这个回答能帮到你。
我正在研究 CleanSwift 架构。我看到图中演示者和相关场景路由器之间没有直接通信,
但通常在某些情况下,演示者只需要路由到另一个视图控制器。我想知道它是否允许演示者直接调用路由器 routeToOtherView() 函数,而不是在视图控制器中调用一个简单重定向的额外函数。
我还在几个项目中使用了 CleanSwift。我喜欢这种架构的地方在于它在 单向 流中工作。在此流程中,ViewController 与 Router、Interactor 和 一起工作主持人。 单向 流让我们很容易找到错误。
让我们通过一个场景来理解这一点。假设您有一个 Button 并单击它要从 ViewController1 移动到 ViewController2。如果你写错了 ViewController3 而不是 ViewController2,现在显示的是 ViewController3 按钮点击。要解决此错误,您必须查看路由机制。你知道路由机制位于 ViewController1,所以要解决它你应该继续 ViewController1 并找到负责路由的函数并解决错误。
如果在 Presenter 中移动路由,在某些情况下只需要从一个 Controller 给另一个。此外,体系结构将取决于您,因为您必须记住是否在 Presenter 或 Controller 中添加了路由机制。它还会影响协作环境,您的对方必须在其中搜索路由机制。如果您观察上述情况,也需要时间来解决错误。
所以最好不要打断流程。多花点钱,让它变得珍贵就好了。希望这个回答能帮到你。