0

我目前正在开发软件作为VoIP公司的实习生。我正在使用MVC模式为iOS创建VoIP客户端。MVC中的智能行为(不计算数据)? iOS

我对MVC有很好的把握,并且我意识到这个问题被提出了一百万次,但我很难理解我的示例中的“智能”应该去哪里。

示例:应用程序请求用户凭证,将它们存储在模型中,可以说(bool)setUsername(字符串usr)。模型将用户名保存到NSUserDefaults,密码钥匙串。在模型持续存在这些数据的情况下,控制器不会受到影响。控制器充当View和Model的锁存器,并处理输入事件(例如按下按钮)。 现在,使用这些信息,应用程序想要在服务器上注册,并在一段时间后再打电话。

在MVC中,这个功能(registerUser(),makeCall())会去哪里?我的猜测是控制器,因为模型是用于坚持和计算数据,而不是其他任何智能行为,但我仍然怀疑。

回答

1

我的答案也是控制器。但是当你使用MVC模式时,有时你可能会感到困惑,因为有些代码你不知道该放哪里。您可以尝试MOVE模式,模型(模型),操作(操作),视图(视图)事件(事件)。康拉德欧文的博客分享了一些关于这种模式的观点。 http://cirw.in/blog/time-to-move-on