在VIPER中组装

在我正在进行的项目中,我选择了建筑模式-VIPER。 这是音乐制作应用程序,它允许您播放,录制和混合第三方乐器。 主模块的框架(以简化形式):

最初,该应用程序是为iPad设计的,后来该应用程序是为iPhone开发的,并且更改了主要模块。 某些组件可用于两种设备(通用),有些则不能:

我们希望保持课程尽可能整洁。 每次创建/更改课程时,您都应该问自己: 该课程有多少职责? 单一责任原则 )。

我认为,创建模块和DI(返回对象图)的责任应该属于一个特殊的类。 它不应制作AppDelegate,Router或VC。 这可以使您的程序集

其余代码非常简单:

然后我提出要为Mac创建应用程序,为什么不…