单页Web应用程序设计

时间:2012-02-14 14:37:44

标签: javascript web-applications

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

我为app结构创建了一个基本设计。关于This视频的this回答非常有帮助。

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

该模块将使用沙箱从服务器检索数据(将使用Application Core)。 该模块将通过将沙箱传递给键值列表来设置页面样式,并以这种方式设置页面HTML。

你怎么看待它。它解耦得够吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

简短回答:那种。这取决于你的模块有多复杂。

答案很长:

我正在开发一款尊重Core的应用程序 - >沙箱实例 - >像你描述的模块模式。

关于我的申请的唯一未回答的问题是:

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

在你的情况下,这可能是5个模块中的手风琴。这个手风琴可能是应用程序特定的,所以只需在核心中添加一个jquery插件,并通过Sandbox将它暴露给模块就不会削减它。

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

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

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