1

我的 Web 应用程序中的 JavaScript 已经变成了一个巨大的文件。我想把它分解成模块,这样更容易管理。

我不知道是否有任何已建立的最佳实践来剖析 Web 应用程序的代码库,或者它是否因项目而异?

尤其:

  • 每个模块是否应该负责应用程序范围的概念,例如“布局”或“客户端存储”等?

  • 或者模块应该针对特定于正在构建的应用程序的概念(如“评论”或“日历”),并且每个模块负责管理自己的布局、自己的客户端存储等?

  • 还是两者兼而有之?

4

2 回答 2

3

如果您将关注点分离单一职责考虑在内,那么每个模块/组件等都应该负责做它所做的事情,而不是其他任何事情。通过将模块分解为小的、易于管理的块来完成它的工作,而不是其他任何东西。

就您的 JS 应用程序而言,您可以查看一些客户端 MVC 框架(例如,knockout、sproutcore、spine 等仅举几例),这些框架有助于在逻辑上将视图和布局分离到控制器和模型。您可能还对使用类似 require.js 之类的东西在需要时加载模块感兴趣。

Alex McCaw 有一本非常好的书,值得一读。

MVC 只是一种模式,但它是一种非常流行的模式,可以解决您的一些顾虑。

祝你好运。

于 2012-04-02T12:21:29.423 回答
1

在所有条件相同的情况下,您最好围绕特定于应用程序的概念创建模块。这更面向对象,并且倾向于将更有可能一起更改的代码组合在一起。这反过来又使您的代码更容易理解、更能容忍变化、更容易开发和扩展(“模块化”的好处)。

于 2012-04-03T10:26:55.523 回答