ios - MVC 中的智能行为(不是计算数据)? iOS

标签 ios model-view-controller nsuserdefaults keychain business-logic

我目前正在一家 VoIP 公司实习,开发软件。我正在使用 MVC 模式为 iOS 创建 VoIP 客户端。

我对 MVC 有很好的掌握,并且我知道这个问题已被问过一百万次,但我对我的示例中的“智能”应该去哪里感到困惑。

示例:应用程序要求用户凭据,将其存储在模型中,例如 (bool)setUsername(string usr)。模型将用户名保存到 NSUserDefaults,密码保存到 Keychain。 Controller 不会关心模型在哪里保存这些数据。 Controller 充当 View 和模型的锁存器,并且还处理输入事件(例如按钮按下)。 现在,应用程序希望使用此信息在服务器上注册,并在一段时间后调用电话。

此功能(registerUser()、makeCall())在 MVC 中的什么位置?我的猜测是 Controller ,因为模型是用于数据的持久化和计算,而不是用于任何其他智能行为,但我仍然怀疑。

最佳答案

我的答案也是Controller。但有时当你使用MVC模式时你可能会感到困惑,因为有些代码你不知道放在哪里。你可以尝试一下MOVE模式,Models(模型),Operations(操作),Views( View )Events(事件)。Conrad Irwin的博客分享了对这个模式的一些看法。 http://cirw.in/blog/time-to-move-on

关于ios - MVC 中的智能行为(不是计算数据)? iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11576024/

相关文章:

android - MVC 与 MVP 与 MVVM 用例

mysql - 似乎无法使用 NHibernate 从 MySQL DB 中获取我的数据

ios - 如何检测 iOS 中的每日首次启动?

ios - UNNotificationAttachment 将图像 URL 设置为缓存目录

ios - 未调用 GetHeightForHeader 和 GetViewForHeader

ios - 自定义本地通知声音不起作用

c# - 您如何在 ASP.Net MVC 中找到哪个 View 称为哪个局部 View

ios - 是否可以使用 KVO 来跟踪对 `MKMapView.camera.heading` 属性的更改?

swift - 在 UserDefaults 中访问字典时类型 'Any' 没有下标成员

iOS NSUserDefaults 同步完成前的访问