ios - 为什么在 MVC 中将导航规则与代码分开

标签 ios jsf frameworks

越来越多的框架试图将导航规则与代码分开。例如,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/

相关文章:

IOS动态框架,外部符号成为发布版本的非外部符号

ios - 如何设置导航栏的后退箭头?

带有标签栏的 iOS Autolayout

java - 使用 Singleton 创建默认管理帐户

jsf - 如何将参数传递给 p :dataTable? 中的 valueChangeListener

jsf - 全局 JSF 异常处理程序无法捕获所有错误

xcode - 如何让我的代码发现嵌入式实用程序?

java - Java Web 框架真的值得这么麻烦吗?

ios - 是否无法在不构建 View 的情况下以编程方式创建 UIViewController?

ios - Swift multiple viewcontroller 需要在 rootviewcontroller 中用作底页