【问题标题】:why separate navigation rule from code in MVC为什么将导航规则与 MVC 中的代码分开
【发布时间】:2011-10-18 23:35:45
【问题描述】:

越来越多的框架试图将导航规则与代码分开。例如,JSF 在 faces-config.xml 中添加了“navigation-rule”标签来控制页面流。新的 xcode 4.2 引入了故事板,因此开发人员不必编写代码来处理场景之间的导航。 我的问题是为什么将导航流与代码分开如此重要。在控制器中编写代码来处理页面流有什么问题?

【问题讨论】:

  • 请注意,JSF 2.0 通过隐式导航消除了那些冗长的 XML 导航规则。

标签: ios jsf frameworks


【解决方案1】:

在我的脑海中:在一个地方指定一个导航流可以更容易地理解一个你不熟悉的代码库——你可以准确地看到如何到达给定的视图,而无需寻找它下来。

您提到了 XCode 中的故事板编辑器 - 另一个优势是导航结构作为一流的实体使其可工具化。

如果您的框架(可能是众多 Java 页面流框架之一?)还检查用户是否坚持该流,则可以轻松捕获违反预期流时可能发生的错误。 (例如,如果用户尝试打开“向导”类型交互的中间。)

与“直截了当”的代码相比,使用这样的框架会产生认知开销。这并不意味着您应该忽略比“控制器方法代码”更高的抽象级别的模式,否则您会将简单的代码变成意大利面条式代码。显然,将导航流程形式化的好处会随着应用中视图的数量以及它们之间连接的复杂性而增加。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多