瘦UIViewController

它基于使用服务组件在视图控制器中隔离特定代码的基础。
服务类似于视图控制器接收的通知,例如viewDidLoad,viewDidAppear,并且将包含用于一种目的的代码。
因此,我们不用创建执行所有初始化任务的代码来挤满viewDidLoad ,而是可以创建单独的服务,这些服务将以模块化方式完成相同的任务。

因此,服务的签名应如下所示:

UIViewControllerServices共享UIViewController的生命周期。 实现UIViewControllerService就像实现具有单一职责的UIViewController一样。

然后将所有服务分组在DetachableViewControllerDelegate下

UIViewController将具有DetachableViewControllerDelegate属性,该属性封装所有构建的服务以隔离视图控制器中的特定任务。
DetachableViewControllerDelegate通知服务它们需要对视图控制器的生命周期事件做出反应

服务可能是这样的:

现在,在所有这些操作的结尾,应该简化视图控制器的许多代码行,并将特定的逻辑放入单独的组件中。

就是这样。 这是缩小视图控制器并将其与不必要知道的事物分离的另一种方法。

希望您喜欢阅读!