【问题标题】:Intelligent behaviour (not computing data) in MVC? iOSMVC 中的智能行为(不是计算数据)? iOS
【发布时间】:2012-07-19 12:48:50
【问题描述】:

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

我对 MVC 有很好的了解,而且我知道这个问题被问了上百万次,但我对我的示例中的“智能”应该去哪里感到困惑。

示例:应用程序要求提供用户凭据,将其存储在模型中,例如 (bool)setUsername(string usr)。模型将用户名保存到 NSUserDefaults,密码保存到 Keychain。控制器不会被模型保存此数据的位置所困扰。控制器充当 View 和 Model 的锁存器并且还处理输入事件(例如按钮按下)。 现在,使用此信息,应用程序希望在服务器上注册,并在一段时间后拨打电话。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多