2011-01-19 58 views
4

我是JavaScript和一般编程的新手。我已经开始创建我的第一个Web应用程序,我想用面向对象的方法重写它。我已经阅读了一些关于面向对象的JS的文章和书籍章节,关于如何模拟命名空间,模块模式等等,但是我很难考虑如何在对象内部组织代码,希望你能帮助我解决这个问题,或者指向一些例子或最佳实践的正确方向。如何组织面向对象的JavaScript的最佳做法和示例?

我想组织它有点像jQuery与一个命名空间(称为应用程序可能)和我所有的应用程序功能,例如app.func1,app.func2,但我有其他功能,这就像实用程序,我希望他们有另一个名字,也许像app.util.func ...也是我的代码在我的应用程序内创建自定义对象,但我不知道哪里是正确的地方放他们和他们的构造函数在我的命名空间中。

有关如何组织面向对象的JavaScript的任何建议,想法,最佳实践,模板或示例?创建类似代码的简单库的例子会很棒。

在此先感谢!

回答

7

我读过关于如何模拟命名空间的面向对象JS的一些文章和书籍章节,...

我不会在JavaScript中模拟经典OO范式。你应该坚持JavaScript的自然。

不要做古典继承。完全使用原型继承或者不使用继承:组合/装饰看起来比JavaScript中的继承好得多。

您不需要名称空间。它们造成不必要的间接并导致企业代码混乱。使用一个好的模块模式来隐藏你的函数和变量在闭包中。

尝试像RequireJS这样的模块加载器。您可以将模块隐藏在自己的文件和闭包中,让RequireJS为您执行依赖注入魔术。

组织JS应用程序文件是一个非常广泛的话题。通过使用MVC或MVP等范例,您可以基于关注点分离来组织您的类。就项目组织而言,在Maven上构建应用程序(并遵循其惯例)可能是一种选择。

由于您的问题一直处于非常高的水平,我只是想提出一些您可能想要Google的想法和关键字,然后阅读。也许经过一些研究和试验和磨难后,你可以回来问一些更具体的问题。

+0

我认为命名空间很重要。你不想用大量不同的函数和变量来混淆全局`window`对象。 – hellatan 2011-01-19 05:17:45

相关问题