【问题标题】:Single page web application design单页网页应用程序设计
【发布时间】:2012-03-05 22:20:07
【问题描述】:

我正在创建一个单页 Web 应用程序。

我为应用程序结构创建了一个基本设计。 This 回答 this 视频很有帮助。

应用程序包含一个 html 页面。 JS 代码会改变它的内容。 Usher 将根据 URL 提供一个模块(domain.com/#list#item1 将返回一个项目模块)。

该模块将使用沙箱从服务器检索数据(为此将使用应用程序核心)。 该模块将通过向沙箱传递一个键值列表来设置页面样式,并且也会以这种方式设置页面 HTML。

你怎么看。是否足够解耦?

【问题讨论】:

    标签: javascript web-applications


    【解决方案1】:

    简短的回答:有点。这取决于您的模块有多复杂。

    长答案:

    我正在开发一个尊重核心 -> 沙盒实例 -> 模块模式的应用程序,就像你描述的那样。

    关于我的应用程序的唯一未回答的问题是:

    “当模块 A 和模块 B 有一个相同或几乎相同的小型 UI 组件时会发生什么?”。

    在您的情况下,这可能是 5 个模块中的 3 个模块上的手风琴。这个手风琴可能是特定于应用程序的,因此只需在核心中添加一个 jquery 插件,并通过沙箱将其暴露给模块就不会削减它。

    我最终得到了两种可能的解决方案:

    1) 使用通用功能作为一种特殊类型的模块,其他模块可以通过沙箱请求。这是在给定时间只有一个 UI 实例可见的情况 - 这可能是您的情况 -

    2) 对我重用的对象使用简单的原型实例化,并将其添加为所有使用它的模块的依赖项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-20
      • 2011-02-01
      • 1970-01-01
      • 2011-03-17
      相关资源
      最近更新 更多