我应该如何正确地重构我的应用程序?

时间:2016-07-21 19:41:41

标签: ios swift

我正在尝试创建一个能够让用户通过FacebookTwitterGoogleLinkedIn登录的应用。我正在使用单个UIViewController并向viewDidLoad方法添加越来越多的代码。此时我的控制器看起来很糟糕,我想在相关类之间拆分代码(一个用于Facebook,依此类推)。我甚至考虑过为每个社交媒体登录按钮使用自定义视图... 什么是正确的做法?

1 个答案:

答案 0 :(得分:1)

在你的案例中至少要分割两件事。

  1. 使用不同的网络登录。它完全取决于您的UI。您可能为每个网络或弹出窗口提供单独的视图(和相应的类)。
  2. 通过应用架构模式(MVC,MVVM,VIPER等)拆分代码 以下是对它们的一个很好的概述: https://techblog.badoo.com/blog/2016/03/21/ios-architecture-patterns/
  3. 您应该做的其他更改是引入一组单独的类来处理通过社交网络登录。然后在视图控制器中(或者在视图模型中或在其他地方更好,具体取决于您选择的设计模式),您可以调用SocialNetworkService.authenticateWithTwitter(email:password)

    但请记住,这些类必须对视图控制器一无所知。

    我希望我的回答能给你一个提示,指出去哪个方向。