Swift 毒蛇/斯威夫特。在何处放置跨多个视图使用的可重用业务逻辑?

Swift 毒蛇/斯威夫特。在何处放置跨多个视图使用的可重用业务逻辑?,swift,solid-principles,clean-architecture,viper-architecture,Swift,Solid Principles,Clean Architecture,Viper Architecture,我想开始使用CleanSwift架构,特别是VIPER对它的解释,但我有一些问题 示例:我有购物车视图。当某些新项目添加到购物车时,该视图将更新数据(计数增加)。当我按下按钮时,打开“CartViewController”。我在整个应用程序中多次使用该视图,并且只在一个应用程序中使用代码库 问题:如何通过VIPER将该视图作为CleanSwift架构的解释来实现?我需要在VIPER的view/UI区域中的某个位置实现对应于每个场景的每个视图的业务逻辑?如何将VIPER中的业务逻辑关注点与视图UI

我想开始使用CleanSwift架构,特别是VIPER对它的解释,但我有一些问题

示例:我有购物车视图。当某些新项目添加到购物车时,该视图将更新数据(计数增加)。当我按下按钮时,打开“CartViewController”。我在整个应用程序中多次使用该视图,并且只在一个应用程序中使用代码库


问题:如何通过VIPER将该视图作为CleanSwift架构的解释来实现?我需要在VIPER的view/UI区域中的某个位置实现对应于每个场景的每个视图的业务逻辑?如何将VIPER中的业务逻辑关注点与视图UI关注点分开,以便VIPER能够抑制大规模视图控制器反模式或架构不良?但是,当业务逻辑相同时,我如何在实现重复使用的同时做到这一点呢?

如果重新编写获得批准并重新打开,我已经准备好回答这个重新编写的问题了。