我目前正在为一个相当大的iOS应用程序(http://clean-swift.com)使用干净的Swift iOS架构,它基于鲍勃大叔的干净架构。它确实减小了视图控制器的大小,但是每个场景(或屏幕)都有很多文件。典型的屏幕将包含以下文件: ViewController、Presenter、Interactor、Router、Configurator。我们还为每个视图控制器使用单独的故事板--每个故事板只有一个视图控制器。还有许多执行各种api调用的worker文件。Swift编译时间相当慢,但在我的记忆中,我非常确定它一直都是如此(甚至在我们将我们的体系结构从MVC改为CLEAN之前)。然而,一些同事开始质疑这种架构是否是导致编译时间缓慢的原因。我的问题是,使用更多的文件会增加编译时间吗?MVC的编译速度会更快吗?还有,故事板呢?使用每个视图控制器一个是不好的做法吗?
发布于 2018-02-12 23:47:11
简短的回答是肯定的。更多的文件会增加编译时间,有些文件会比其他文件多。
减少编译时间的一种方法是删除故事板,然后在代码中执行ui,或者使你的故事板尽可能地可重用。在我的经验中,干净的架构在使用全代码、代码库的情况下工作得最好,因为如果做得正确的话,可以减少视图文件的数量。尽管您应该问自己的另一个问题是,稍微增加编译时间是否更有利于拥有更具可读性、可维护性和可测试性的代码,而不是扰乱MVC不断增加的控制器?MVC甚至可能不会减少你的编译时间,因为你可能最终会有更大的故事板(在大多数情况下)。最后一个问题。是的,每个控制器一个故事板可以被认为是不好的做法,但只有在这些故事板不可重用的情况下。
https://stackoverflow.com/questions/42382840
复制相似问题