越来越多的框架试图将导航规则与代码分开。例如,JSF 在 faces-config.xml 中使用“navigation-rule”标签来控制页面流。新的 xcode 4.2 引入了 Storyboard,因此开发人员不必编写代码来处理场景之间的导航。 我的问题是为什么将导航流与代码分开如此重要。在 Controller 中编写代码来处理页面流有什么问题?
最佳答案
出乎我意料:在一个地方指定导航流程可以更轻松地理解您不熟悉的代码库——您可以准确地了解如何到达给定 View ,而无需寻找它下。
您提到了 XCode 中的 Storyboard 编辑器 – 另一个优势是将导航结构作为一流实体使其可以使用工具。
如果您的框架(可能是笨拙的 Java 页面流框架之一?)也检查用户是否坚持此流程,则可以轻松捕获违反预期流程时可能发生的错误。 (例如,如果用户尝试打开“向导”类型交互的中间。)
与“简单”代码相比,使用这样的框架会增加认知开销。这并不意味着您应该忽略抽象级别高于“ Controller 方法代码”的模式,否则您会将简单的代码变成意大利面条代码。显然,随着应用中的 View 数量和它们之间连接的复杂性,规范化导航流程的好处会增加。
关于ios - 为什么在 MVC 中将导航规则与代码分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7815004/