Ios 如何让大班更优雅?
在我的Objective-C应用程序中,一些视图控制器有几十个IBOutlet和40多种方法。要通读代码真的很难。我试图通过在单独的控制器类中声明属性和方法来限制它们的数量Ios 如何让大班更优雅?,ios,objective-c,class,design-patterns,Ios,Objective C,Class,Design Patterns,在我的Objective-C应用程序中,一些视图控制器有几十个IBOutlet和40多种方法。要通读代码真的很难。我试图通过在单独的控制器类中声明属性和方法来限制它们的数量 是否有一些好的实践来限制类中的代码量,或者我必须接受它,因为我的类有许多任务要控制?我认为您最终得到的是一种称为“海量视图控制器”的东西 请看下面的链接 有更多的方法来缓解这个问题。如果我是对的,你可能会追随MVC。如果是这样的话,你应该考虑MVP/MVVM/VIPER体系结构。 典型地,在IOS应用程序编程中,视图控制器
是否有一些好的实践来限制类中的代码量,或者我必须接受它,因为我的类有许多任务要控制?我认为您最终得到的是一种称为“海量视图控制器”的东西 请看下面的链接
有更多的方法来缓解这个问题。如果我是对的,你可能会追随MVC。如果是这样的话,你应该考虑MVP/MVVM/VIPER体系结构。
典型地,在IOS应用程序编程中,视图控制器变大了,因为它执行了属于其他层的任务。这些层是:
总之,要解决您的问题,只需将视图控制器中的一些代码提取到上面的层。显然在MVC中,“C”控制器有很多事情要做,比如处理视图的生命周期事件、在iActions中处理视图回调以及其他类似的任务。如果我们正在使用“M”模型中的数据执行某些操作,这也是在控制器中完成的。例如,将日期对象转换为字符串并显示在“V”视图中,或在处理后显示一些计数 不负责管理视图和处理数据的代码可以移动到其他类。这种全新的设计模式称为MVVM-Model-View-Model。ViewModels将具有与数据操作相关的方法。我想这将有助于Viewcontrollers从处理如此多的事情中得到一些缓解,并在代码方面有所收缩 如果您想了解有关MVVM设计模式的更多信息,请浏览以下链接:
希望这对您有所帮助。您是否遵循MVC模式?