所以,我正在重写另一个开发人员构建的旧应用程序 - 他不再是我们团队的成员。
我注意到在AppDelegate中有标准方法。除此之外,还有另外30种其他方法 - 从设置UI内容到检查T& Cs已被接受 - 在购物车中显示项目甚至加注注销和登录等。
现在我还是iOS开发人员的新手,我一直在阅读滥用应用程序委托并不是一个好主意。这会被视为滥用吗?
整个应用程序 - 开发人员使用:
MyAppDelegate *appDelegate = (MyAppDelegate*)[MyAppDelegate sharedAppDelegate];
我认为这可能不是最好的方法?
如果这是滥用AppDelegate - 如何解决它 - 不使用单身人士?
我正在考虑创建一个新类并将方法分组为相关性?所以与设置项目/检查等有关 - 进入一个班级。那么UI的东西可能会留在app代理中?
我认为打破这一点有助于解耦和依赖。但是,如果App委托中的大多数东西习惯于“做”而不是存储,那么这是正确的方法吗?
答案 0 :(得分:3)
我不确定滥用AppDelegate类的一部分,但在编程预期中你应该将代码分成意义的完整类!然后管理变得更容易。
回到你的问题!你总是可以创建Singleton类,也可以为AppDelegate类创建类别类。所以在某种程度上你要分离代码。这意味着如果你在委托中有登录/注销方法,你可以创建名为+ UserManagement或Something的类别并放置所有代码那里!您还可以创建AppUser Singleton类并将所有用户管理内容放在那里!
答案 1 :(得分:2)
我会考虑使用AppDelegate作为臭代码。 单身人士更好,但请记住,他们很难进行单元测试。